2013-02-01 42 views
0

想象我有两个实体:如何将EF CodeFirst多重性从一个更改为零?

实体在“SLContext:

public class User{ 
    public Guid UserId { get; set; } 
} 

public class Country{ 
    public Guid CountryId {get; set;} 
    public virtual List<User> Users {get; set;} 
} 

如果我尝试添加谁不属于任何国家的用户,我对SaveChanges命令得到UpdateException用户'参与'Country_Users' 的关系。找到0条相关'Country_Users_Source'。 1 'Country_Users_Source'is expected

我认为这个问题与自动生成的一对多关系有关。我怎样才能将这个多重性设置为0.1 ---> *?

+1

你在用什么做Mapping? FluentAPI或DataAnnotation? – saber

回答

1

如果您正在使用FluentAPI,为User配置实体应该是:

HasOptional(x=> x.Country) 
     .WithMany(x=> x.Users); 

和用户实体:

public class User{ 
     public Guid UserId { get; set; } 
     public virtual Country Country { get; set; } 
    } 

希望这有助于。

+0

在这种情况下,我将不得不在用户的实体上添加导航属性,这是强制性的吗? –

+0

是的,您必须在'用户'实体中为'Country'实体添加导航属性。 – saber

相关问题