假设我们有以下数据库
我们有以下课程
class Context : DbContext
{
public DbSet<Control> Control { get; set; }
public DbSet<LanguageResource> LanguageResource { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<LanguageResource>()
.HasKey(l => new { l.LanguageResourceId, l.CultureCode });
modelBuilder.Entity<Control>()
.HasKey(c => c.ControlId);
}
}
class Control
{
public int ControlId { get; set; }
public int LanguageResourceId { get; set; }
public ICollection<LanguageResource> LanguageResources { get; set; }
}
class LanguageResource
{
public int LanguageResourceId { get; set; }
public string CultureCode { get; set; }
public string Text { get; set; }
}
是否有一种方法可以将Context
配置为将Control.LanguageResourceId
与LanguageResource.LanguageResourceId
关联以填充Control.LanguageResources
。
我正在考虑做这样的事情..但是显然这是行不通的..:D
var control =
context
.Control
.Include(c => c.LanguageResources)
.First();
/// {
/// ControlId : 1
/// LanguageResources : [
/// {
/// LanguageResourceId : 1,
/// CultureCode : en-US
/// Text : Hello
/// },
/// {
/// LanguageResourceId : 1,
/// CultureCode : en-CA
/// Text : Hi
/// }
/// ]
/// }
我仅具有对数据库的只读访问权限,因此修改表/字段是不可能的。 :)
我们正在使用EF6,但我想知道是否也可以在EF Core中完成。 :)