的LINQ後,執行對SQL Server查詢,當一個對象的屬性設置?當LINQ表達式之後設置一個屬性的值被評估?
的ExamVersion類的以下屬性是由LINQ to SQL類(的.dbml)文件生成的。
[Column(Storage="_SourceSafeVersionNum", DbType="Int", UpdateCheck=UpdateCheck.Never)]
public System.Nullable<int> SourceSafeVersionNum
{
get
{
return this._SourceSafeVersionNum;
}
set
{
if ((this._SourceSafeVersionNum != value))
{
this.OnSourceSafeVersionNumChanging(value);
this.SendPropertyChanging();
this._SourceSafeVersionNum = value;
this.SendPropertyChanged("SourceSafeVersionNum");
this.OnSourceSafeVersionNumChanged();
}
}
}
後,我執行這個LINQ查詢:
var query = from examVersion in db.ExamVersions
where examVersion.ExamVersionID == ExamVersionID
select examVersion;
return query.ToList();
當/哪裏LINQ設置SourceSafeVersionNum財產?
我放在二傳手斷點,但在調試過程中不會被調用。沒有構造函數可以設置這個值。
我將_SourceSafeVersionNum更改爲屬性,並且在訪問測試支持字段時確實發生中斷。我以爲_SourceSafeVersionNum是支持領域,而不是一個屬性。爲什麼沒有一個吸氣和二傳手,如果它是一個屬性? – Jason 2011-03-30 17:05:36
這是特定於實例的私人財產。獲取者和設置者實際上爲這些私人財產提供了一個入口/返回點。今天這個對我們來說是隱藏的,當我們寫public int MyProperty {get;組; } .NET實際上爲我們管理私有財產。當你添加一個get和一個set時,它會爲要存儲的值創建一個單獨的私有實例屬性。ie _SourceSafeVersionNum是信息實際駐留在內存中的類的生命。 – Gats 2011-03-30 17:27:25
您是否有關於.NET如何管理這些私有屬性的描述?我想更多地瞭解它們以及它們如何用於對象構建。 – Jason 2011-03-30 23:54:21