簡體   English   中英

如何在Entity Framework中編寫linq查詢,但我的表包含外鍵?

[英]How to write linq query in Entity Framework but my table includes foreign key?

我有一個表,其中包含3個外鍵字段,例如:

我的桌子: 卡拉特

  • ID(Pkey)
  • RehberID(Fkey)
  • KampanyaID(Fkey)
  • BrimID(Fkey)
  • 名稱
  • 詳情

如何使用linq編寫實體查詢:?

select * from Kartlar where RehberID=123 and KampanyaID=345 and BrimID=567

但是請注意,在實體中我看不到RehberID,KampanyaID,BrimID是外鍵。 我應該使用實體密鑰,但是如何使用?

我的實體:

可以將數據添加到kartlar表(RehberID,KampanyaID,BrimID)。 但是,哪個Kart'ID創建了? 在將數據(RehberID,KampanyaID,BrimID)添加到Kartlar之后,我需要學習創建哪個ID?

public static List<Kartlar> SaveKartlar(int RehberID, int KampanyaID, int BrimID, string Notlar)
{
    using (GenSatisModuleEntities genSatisCtx = new GenSatisModuleEntities())
    {
       Kartlar kartlar = new Kartlar();
       kartlar.RehberReference.EntityKey = new System.Data.EntityKey("GenSatisModuleEntities.Rehber", "ID", RehberID);
       kartlar.KampanyaReference.EntityKey = new System.Data.EntityKey("GenSatisModuleEntities.Kampanya", "ID", KampanyaID);
       kartlar.BirimReference.EntityKey = new System.Data.EntityKey("GenSatisModuleEntities.Birim", "ID", BrimID);
       kartlar.Notlar = Notlar;
       genSatisCtx.AddToKartlar(kartlar);
       genSatisCtx.SaveChanges();
       List<Kartlar> kartAddedPatient;
       kartAddedPatient = (from k in genSatisCtx.Kartlar
                           where k.RehberReference.EntityKey == RehberID &&
                                 k.KampanyaReference.EntityKey == KampanyaID &&
                                 k.BirimReference.EntityKey == BrimID
                           select k)
   return kartAddedPatient ;
    }
}

我怎樣才能做到這一點? 我想從Kartlar獲取數據,我添加了哪些數據?

genSatisCtx.AddToKartlar(kartlar);
genSatisCtx.SaveChanges();
int newKartlarID = kartlar.KartID;//kartID or whatever you call your primary key
return newKartlarID;

在保存對象kartlar之后,它會獲得一個主鍵,該鍵可以在后記中使用,希望這會有所幫助,並且kartlar是什么語言?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM