2010-04-05 97 views
0

如何在實體框架中設置外鍵值字段?我有卡特拉實體(與卡特拉表相關)。我需要簡單的保存方法這一領域,但是,RehberID,KAmpanyaId,BirimID是foregin關鍵....如何在Entity Framework的外鍵字段中添加數據?

public static class SatisServicesUpdateTables 
{ 
    public static void SaveKartlar(int RehberID, int KampanyaID, int BrimID) 
    { 
     using (GenSatisModuleEntities genSatisKampanyaCtx = new GenSatisModuleEntities()) 
     { 
      Kartlar kartlar = new Kartlar(); 
      kartlar.RehberReference.EntityKey = new System.Data.EntityKey("genSatisKampanyaCtx.Rehber", "ID", RehberID); 
      kartlar.KampanyaReference.EntityKey = new System.Data.EntityKey("genSatisKampanyaCtx.Kampanya", "ID", KampanyaID); 
      kartlar.BirimReference.EntityKey = new System.Data.EntityKey("genSatisKampanyaCtx.Birim", "ID", BrimID); 
      kartlar.Notlar = "hfhfhfhfhfhfghfghfgfghk"; 
      genSatisKampanyaCtx.AddToKartlar(kartlar); 
      genSatisKampanyaCtx.SaveChanges(); 
     } 
    } 
} 

但它拋出對我說:ArgumentException的是未處理的用戶代碼

link text

+0

Duplicate:http://stackoverflow.com/questions/2577856/if-adding-new-entity-gives-error-me-entitycommandcompilationexception-was-unha – 2010-04-05 16:10:19

回答

1

的您的EntityKey的第一個參數應該是你的上下文的名稱,而不是你的名字varaible:

new System.Data.EntityKey("GenSatisModuleEntities.Rehber", "ID", RehberID); 

和Rehber應該是你的EntitySet的名稱。

相關問題