懒惰加载一对一的关系

时间:2017-04-05 12:44:59

标签: c# entity-framework asp.net-identity one-to-one

我正在使用Asp.Net MVC 5和Entity Framework 6开发网站。我正在尝试在ApplicaitonUserUserBalance实体之间添加一对一关系。这是两个类:

public class ApplicationUser : IdentityUser
{
    public virtual UserBalance Balance { get; set; }
}

public class UserBalance
{
    [Key]
    public int Id { get; set; }

    public decimal Balance { get; set; }

    [Required]
    public virtual ApplicationUser User { get; set; }

    [Timestamp]
    public byte[] RowVersion { get; set; }
}

当我从数据库加载用户时,实体框架加载一个空的UserBalance,我无法保存更改。我必须使用.Include("Balance")来加载信息。

如何让Entity Framework自动从数据库加载余额信息而不需要Include函数?

更新

这是我检索返回用户而不是 Balance的用户的方法。

var id = User.Identity.GetUserId();
var user = await db.Users.FirstOrDefaultAsync(u => u.Id == id);

这是我使用 Balance

检索的方法
var id = User.Identity.GetUserId();
var user = await db.Users.Include("Balance").FirstOrDefaultAsync(u => u.Id == userid);

0 个答案:

没有答案