我正在使用Asp.Net MVC 5和Entity Framework 6开发网站。我正在尝试在ApplicaitonUser
和UserBalance
实体之间添加一对一关系。这是两个类:
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);