1
我有一个定义,就像下面,基本上,我想在EmailAccount类来创建此:如何使用CodeFirst(的EntityFramework,微软),使可空列复杂
公共EmailUser? EmailUserAccountInfo {get; set;}
编译器给我一个关于非空类型的错误。我的目标是我想让EmailUser可选。我有点困惑,因为我可以直接设置EmailUserAccountInfo = null。
var r = new EmailAccount()
{
EmailUserAccountInfo = null,
Id = 1001
};
public class EmailAccount
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public EmailUser EmailUserAccountInfo { get; set; }
}
public class EmailUser
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public EmailAccount EmailAcount { get; set; }
public string EmailAddress { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public string State { get; set; }
public int Temperature { get; set; }
public string WeatherString { get; set; }
public ImageDetail ImageOfUser { get; set; }
}
谢谢Tsuushin,你能解释一下virtual关键字在数据库中的含义吗?另外,我对添加外键列是否明确有所影响有一些疑问。 –
显式添加外键允许您将其标记为无效,从而指示EF关系为零对一。 –
至于虚拟关键字,请参阅[对此问题的答案](http://stackoverflow.com/questions/5597760/what-effects-can-the-virtual-keyword-have-in-entity-framework-4- 1-POCO码-FI) –