我正在使用实体框架 4.1。我需要创建一个需要从现有数据库中获取的 WCF 服务。我正在使用 wsHttp 绑定。我使用了支持 WCF 的 DbContext 生成器。以下是已生成的两个类:
[DataContract(IsReference = true)]
[KnownType(typeof(TestSummary))]
public partial class Test
{
[DataMember]
public int Id { get; private set; }
[DataMember]
public virtual TestSummary TestSummary { get; set; }
}
和,
[DataContract(IsReference = true)]
[KnownType(typeof(Test))]
public partial class TestSummary
{
[DataMember]
public int Id { get; private set; }
[DataMember]
public string Summary { get; set; }
[DataMember]
public virtual Test Test { get; set; }
}
当我获取所有 Test 对象时,我没有得到与之相关的 TestSummary。我所有其他实体也是如此。用于获取测试实体的代码:
List<Test> tests = new List<Test>();
using (TestModelContainer context = new TestModelContainer())
{
var query = (from t in context.Tests select t);
foreach (var t in query)
{
Test test = (Test)t;
tests.Add(test);
}
}
但是,当我使用不支持 WCF 的 DbContext 生成器生成类时,也会加载所有相关实体(我使用控制台应用程序对其进行了测试)。