有没有返回关系的对象?



我正在尝试使用 Asp.Net MVC和实体框架创建一个应用程序。在此应用程序中,我有一个用户有一个包,为了在它们之间建立关系,我使用了HasOptional但是当我尝试查找用户时,包不会返回与用户联接。

为什么会发生这种情况,我该如何解决这个问题?

用户

public class User
{
public long id { get; set; }
public Package package {get;set;}

public class Package
{
public int id  { get; set; }
public String name {get;set;}

地图

public class UserMap : EntityTypeConfiguration<User>{
public UserMap(){
this.ToTable("Users");
this.HasKey<long>(u => u.id);
this.HasOptional<Package>(u => u.package);
}
}

//it should to return the Package too but still doesn't
User user = context.users.FirstOrDefault(u => u.id == userSession.id);
Debug.writeLine("Package is null: " + user.package == null); //it is returning true

EF6.x 中的一对一配置方式如下:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.HasOptional(p => p.package)
.WithRequired();
}

最新更新