我有一個 .NET 應用程式,用戶可以在其中創建/編輯他們的過濾器和第二個控制臺應用程式,它作為后臺任務運行并應用他們的過濾器。
我擴展了Application使用類:
public class ApplicationUser : IdentityUser
{
public ApplicationUser()
{
Filters = new List<FilterData>();
}
[SqlDefaultValue(DefaultValue = 0)]
public long Credit { get; set; }
public virtual ICollection<FilterData> Filters { get; set; }
}
我的控制臺應用程式創建DbContext并嘗試使用Filters屬性:
static void Main(string[] args)
{
var contextOptions = new DbContextOptionsBuilder<ApplicationDbContextEx>()
.UseSqlServer(@"connection string....")
.Options;
ApplicationDbContextEx context = new ApplicationDbContextEx(contextOptions);
foreach (var user in context.Users.ToList())
{
// Filters
Debug.Assert(user.Filters != null, "weird because we have filters in db");
}
}
我的問題是,user.Filters即使資料庫中有有效過濾器,它也始終為空。
我猜這是 DbContext 創建的問題。
感謝幫助 !
uj5u.com熱心網友回復:
您是否使用約定、屬性或 FluentAPI 定義了關系?嘗試使用Include:
foreach (var user in context.Users.Include(a => a.Filters).ToList())
{
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/388556.html
