0

Language、Language Type、Employeeという名前の 2 つの 3 つのテーブルがあります。

Language Type のフィールドはLId,LanguageType です

言語のフィールドは、LId、EmpId、言語の流暢さです。

Employee のフィールドはEmpId 、EmpName

Language Type と language の関係はone -to-oneで、 language と Employee テーブルはmany -to -oneです。問題は、言語でデータを入力するとエラーが表示されることです

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

データは language Type に挿入されていますが、 language table には挿入されていません。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);
   }
}
4

1 に答える 1

0

従業員オブジェクトに言語を直接追加することができます

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();
    }
}
于 2012-08-08T12:07:16.837 に答える