我在查詢結果中遇到了包括我的身份用戶在內的問題。其他實體也包括在內,無論深度多少。將身份用戶與實體框架一起使用不起作用
這是我正在使用的模型。
Building * --- 1 City
* *
| /
| /
1 1
ApplicationUser
和上下文:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<City> Cities { get; set; }
public DbSet<Building> Buildings { get; set; }
}
兩個Building
和City
具有以下屬性:
public Guid ApplicationUserId { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
我使用的檢索數據的查詢:
var building = context.Buildings
.Include(c => c.ApplicationUser)
.Include(c => c.City)
.Include(c => c.City.ApplicationUser)
.First();
在th e結果City填充得很好,但ApplicationUser不是。
這是一個命名問題嗎?我已經試過UserId
/User
和AspNetUserId
/AspNetUser
作爲沒有成功的屬性名稱。
我正在使用Migrations創建數據庫。爲用戶創建的表名是AspNetUsers。
我正在使用實體框架7測試版7,不知道這是否也適用於其他版本。
這些是由EF遷移生成的文件。
ApplicationDbContextModelSnapshot.cs
20150929181902_Init.Designer.cs
(我發現我忘了,包括建築>生成上傳文件時,城市的關係,但是這不應該的問題的例子)
這可能是EF7中的一個錯誤。你的'OnModelCreating'方法是什麼樣的? – natemcmaster
這是一個錯字嗎?包括(c => c.AspNetUser)。他們是否處於相同的背景下?你有一個DbSet的ApplicationUser? –
@SteveGreene這是一個錯字,只是清除它。他們在相同的背景下。用戶位於DbSet中 - 它是IdentityDbContext中的一個屬性。 – SaphuA