我正在一個MVC3項目中工作,並且我正在使用LINQ to SQL。我有一個數據庫模式,使用一個字段來指示記錄是活動還是刪除(字段是布爾名爲「活動」)。 現在假設有兩個鏈接的表,如State和City,其中City引用狀態。 比方說,我有一個返回狀態的列表的方法:有沒有在LINQ DataContext中實現選擇條件的方法
public ActionResult ListStates()
{
return View(_repository.ListStates());
}
現在,我已經實現了庫方法返回的所有狀態,我可以通過以下方式實現:
public class Repository
{
public IQueryable<State> ListStates()
{
return dataContext.States.Where(p => p.Active == true)
}
}
在視圖中,我可以確定我只使用活動狀態。但爲了確保我只使用活躍的城市,我需要在視圖中對其進行過濾,這使得視圖更加醜陋,或者實現了自定義視圖模型。這兩種情況都是有效的,但他們需要很多工作。 我看到有數據方面的方法,其中一個對象被插入之前,我們就可以實現一定的操作/更新到數據庫,因爲這examle:
public partial class DatabaseDataContext
{
partial void InsertState(State instance)
{
instance.Active = true;
this.ExecuteDynamicInsert(instance);
}
}
每當狀態對象的插入是上述方法被執行發生。 我的問題是,是否有一種方法只能在一個地方爲一個對象實現一個條件,例如只有在執行選擇時才返回活動記錄?
記得按Ctrl + K的關鍵是:d – TheVillageIdiot 2011-05-24 15:05:45