代码之家  ›  专栏  ›  技术社区  ›  loki

如何在实体框架的外键字段中添加数据?

  •  0
  • loki  · 技术社区  · 15 年前

    如何在实体框架中给出设置外键值字段。我有kartlar实体(与kartlar表相关)。我需要这个字段的简单保存方法,但是,rehberid、kampanyaid、birimid是foregin键…

    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

    1 回复  |  直到 15 年前
        1
  •  1
  •   moi_meme    15 年前

    EntityKey的第一个参数应该是上下文名称,而不是可变名称:

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

    Rehber应该是你的实体集的名称。