291
人物
Linq操作與外鍵的聯係
一個飯局有多個參與者
這是一些基本方法
public class DinnerRepository:IDinnerRepository
{
NerdDinnerDataContext dc = new NerdDinnerDataContext();
public IQueryable<Dinners> FindAllDinners()
{
return dc.Dinners;
}
public IQueryable<Dinners> FindUpComingDinners()
{
return from dinner in dc.Dinners
where dinner.EventDate > DateTime.Now
orderby dinner.EventDate
select dinner;
}
public Dinners GetDinner(int id)
{
return dc.Dinners.Where(d => d.DinnerID == id).FirstOrDefault();
}
public void Add(Dinners d)
{
dc.Dinners.InsertOnSubmit(d);
}
// 一個飯局有多個參與者
// 刪掉飯局,就要刪掉參與者
public void Delete(Dinners d)
{
// 刪除與之為外鍵的信息
dc.RSVP.DeleteAllOnSubmit(d.RSVP);
dc.Dinners.DeleteOnSubmit(d);
}
public void Save()
{
dc.SubmitChanges();
}
}
那麼我取消一個飯局,那麼即必須把RSVP表與之相關的參與者也要刪掉,那麼linq提供了一個方便的方法
public void Delete(Dinners d)
{
// 刪除與之為外鍵的信息
dc.RSVP.DeleteAllOnSubmit(d.RSVP);
dc.Dinners.DeleteOnSubmit(d);
}
下麵的示例代碼首先檢索一個 dinner 對象,然後添加一個 RSVP 對象。這裏,使用 Dinner 對象的 RSVPs
集合對象。當調用 Resposity 對象的 Save()方法時,一條新的記錄添加 RSVP表中。
DinnerRepository dinnerRepository = new DinnerRepository();
Dinner dinner = dinnerRepository.GetDinner(5);
RSVP myRSVP = new RSVP();
myRSVP.AttendeeName = "ScottGu";
dinner.RSVP.Add(myRSVP);
dinnerRepository.Save();
最後更新:2017-04-02 22:16:21
上一篇:
個人需要的準備材料2
下一篇:
jQuery中的toggle方法
Mac OS X也可以跑OpenGL啦
在Entity Framework中使用存儲過程(三):邏輯刪除的實現與自增長列值返回
Tomcat啟動報錯:java.lang.IllegalArgumentException: Can't convert argument:null
Oracle 11g 在使用時應該啟動哪些服務?
SQL中truncate、delete與drop區別
Redis開發運維實踐常見運維操作(二)
麵試官最常問的問題總結(一)
實用正則表達式掃描android SDcard的文件
專治酷暑黑科技集合
Android中內容觀察者的使用---- ContentObserver類詳解