好的,这个可能没有直接的答案,但让我们看看。
我正在尝试设计一个DAL,它将位于网络上,并为正在编写需要使用我们数据库的客户端的开发人员提供EF对象。
例如:
DAL有一些名为PERSON和DEPARTMENT的EF对象。
开发人员希望编写一个可以使用WCF引用DAL的客户端,并向他公开了代理上下文和EF对象,以便他可以在设计时执行正常查看的LINQ查询。在运行时,此查询将传递给实际执行它的DAL,并将结果对象传递回客户端
var query = from c in DALReference.PERSON
where c.FISTNAME == "FRED"
select c;
foreach ( PERSON p in query)
{
lstItems.Items.Add(p.FIRSTNAME);
}
现在我已经阅读了很多关于EF v1如何不够成熟yada yada yada的内容。那不适合我。我需要为一个大型项目编写解决方案,这个项目最迟必须在明年9月到期,所以我不能等待v2或.NET 4
我也读到了关于POCO和坚持无知的说法,说实话,这一切都是如此分散,我正在努力解决它。
所以,任何人都希望提供一些易于理解的示例,指南或建议如何实现这一目标?
噢,是最后一块拼图。我需要通过TCP而不是HTTP进行通信。谢谢!
答案 0 :(得分:1)
您是否查看过ADO.NET数据服务或RIA服务?两者都会以略微不同的方式或多或少地做你想要的。除非我真的迫切需要,否则我会从其中一个开始。
答案 1 :(得分:1)
您将不得不使用RIA服务或类似的东西:http://code.msdn.microsoft.com/exprserialization通过网络将表达式树发送到您的数据存储区。
修改强>
希望补充一点,EF4现在工作得非常好,它在处理分离的实体方面肯定更好,例如穿过电线并与上下文脱节的对象。
这篇文章可能会有所帮助: http://msdn.microsoft.com/en-us/magazine/ee335715.aspx
答案 2 :(得分:0)
您可能有兴趣使用在服务器端使用Entity Framework的开源N-Tier Entity Framework并生成整个基础架构,用于构建基于WCF的n层架构,包括客户端的类似EF的API 。