简体   繁体   English

对实体的限制

[英]linq to entities

I have two three tables named 我有两个名为三个表
Language,Language Type,Employee 语言,语言类型,员工

Fields of Language Type are LId,LanguageType 语言类型的字段为LId,LanguageType

Fields Of Language are LId,EmpId,Language fluency 语言字段为LId,EmpId,语言流利度

Fields of Employee are EmpId ,EmpName Employee的字段是EmpId,EmpName

Relationship between Language Type and language is one –to-one , and language and Employee table is many -to –one . 语言类型和语言之间的关系是一对一的 ,语言和雇员表之间的关系是多对一的 Problem is when I enter data in language it displays the error 问题是当我用语言输入数据时显示错误

A dependent property in a Referential Constraint is mapped 
to a store-generated column. Column: 'LId'."}.

Even though data is being inserted in language Type but not in language table . 即使以语言Type插入了数据,但没有在语言表中插入数据。 lINQ query is for language table is lINQ查询是针对语言表的

public void AddEmpLanguage(Language language, long id)   
{ 
   using (var context = new HRMSEntities())
  {
       Language emp = new Language
       {
            EmpId = id,
            LanguageFluency = language.LanguageFluency,
        };
       context.Language.AddObject(emp);
   }
}

You can try to add the language directly to a employee object 您可以尝试将语言直接添加到员工对象

public void AddEmpLanguage(Language language, long empId)   
{ 
    using (var context = new HRMSEntities())
    {
        Language lang = new Language
        {
            LanguageFluency = language.LanguageFluency,
        };
        var employee = context.Employees.Find(empId);
        /*          or context.Employees.FirstOrDefault(x=>x.ID == empId); */
        if(employee != null){
            employee.Languages.Add(lang);
        }
        context.SaveChanges();
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM