【发布时间】:2015-02-10 21:19:50
【问题描述】:
当我更新对象Employee 时,使用下面的代码在Language 表中添加了一条新记录,我不明白为什么。 LanguageId 有一个值,我设置了 Language(请参阅代码中的信息)。 Employee 记录更新为新创建的 LanguageId。
我做错了什么?
public class Employee
{
public virtual int EmployeeId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual int LanguageId { get; set; }
public virtual Language Language { get; set; }
}
public class Language
{
public virtual int LanguageId { get; set; }
public virtual string Name { get; set; }
public virtual string Code { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Employee>()
.HasRequired(t => t.Language);
}
private void Update(Employee employee)
{
//LanguageId in employee object has a value, OK
//Language is null
employee.Login = employee.Login.ToUpper();
employee.Language = myRepository.Get(employee.LanguageId);
myRepository.Update(employee);
}
【问题讨论】:
标签: c# .net entity-framework entity-framework-6