假设我有一个带有可选属性X的数据库表A。 我有一个带有复合键(Y,X)的表B。这两个表没有任何明确的关联。
例如
create table A
(
Id uniqueidentifier not null,
X uniqueidentifier null
)
create table B
(
Y uniqueidentifier not null,
X uniqueidentifier not null,
Constraint PK_B Primary Key (Y, X)
)
A和B通过属性X隐式关联,因为X是一个孤立ID(其基表已移出)
对于使用C#代码的模型A,如何使用属性X填充IList<B>
,以获取B中包含X的所有项目?理想情况下,我想使用Fluent API配置。
例如
public class A {
public Guid Id {get; set;}
public Guid? X {get; set;}
public IList<B> RelatedItems {get; set;}
}
public class B {
public Guid X {get; set;}
public Guid Y {get; set;}
}
如何使用Fluent API配置实体,以便可以使用类似的
var list = await context.AQuery()
.Include(a => a.RelatedItems)
.ToListAsync().ConfigureAwait(false);
或任何其他方式填充A中的IList
谢谢!
答案 0 :(得分:0)
在我们的模型中,x是一个属性,一个属性具有一个getter,您可以设置x属性的get方法来从数据库中检索记录(类似于延迟加载设计模式)
public IList<SomeStuff> X {
get { // go get records from database }
}
这将使您额外花费,所以我不确定这是否是您想要的