我正在使用WCF和实体框架的项目上工作。 因为WCF不会与动态代理,从here拍摄工作,我已经把这个线在我的上下文类的构造函数:关闭代理导致无关联
public CarBatteryEntities() : base("name=CarBatteryEntities")
{
base.Configuration.ProxyCreationEnabled = false;
}
WCF的作品,但我的LINQ查询不会返回他们的协会。
这是我的代码:
List<Edge> edges = edgeRepository.GetBatteryCenterEdges("cityname").ToList();
foreach(var e in edges)
Console.WriteLine(e);
类Edge
有3个主要变量 - BatteryStation
,BatteryStation
和distance
。 它是ET的一个自动生成的类,两个BatteryStation
都连接到另一个表。
如果我使用ProxyCreationEnabled
作为true
一切正常的魅力。
如果我使用ProxyCreationEnabled
为false
只distance
会正确地返回和两个对象(BatteryStation
和BatteryStation1
)将null
。
有什么建议吗?
public IList<Edge> GetBatteryCenterEdges(string name)
{
var query = context.Edge
.Where(edge => edge.BatteryStation.name.Equals(name)
|| edge.BatteryStation1.name.Equals(name))
.AsEnumerable()
.SelectMany(edge => new[] {
edge,
new Edge() {
BatteryStation = edge.BatteryStation1,
BatteryStation1 = edge.BatteryStation,
distance = edge.distance
}
});
return query.ToList();
}
你能列出'GetBatteryCenterEdges'的来源吗? – sinelaw
我已将它添加到 – Nikola