我可以在现有Model中使用ADO.NET Entity Framework吗?

问题描述:

我有我的项目的现有模型。我想切换到实体框架,但我不想用EF生成的模型替换我的模型。我可以在现有Model中使用ADO.NET Entity Framework吗?

此外,我的模型是从我的数据库架构完全不同的,因此任何机会使用从EF生成的模型,做所有需要的重构也不难。

确实存在任何方式有一个现有的域,现有的数据库,并只使用EF的方法添加到我的域名包括O/RM层?

在.NET 3.5SP1中,那么答案恐怕是一个很大的“不”。在.NET 4.0中,这个故事看起来更有希望,引入了POCO支持(尽管我还没有在公开测试版上尝试过),但希望可以使用自己的对象。

请注意,您可以通过使用外部映射文件(并提供DataContext对象)使用LINQ到SQL来执行POCO(包含您自己的对象) - 但这些工具并不完全帮助您执行此操作(它希望默认使用代码生成)。

现在,也许NHibernate(和类似)是你最好的选择。

你可以下载实体框架的beta release如果你是MSDN订阅。 它支持POCO对象,这就是你所指的,并且EF 1.0受到了严厉批评。

ADO.NET的设计团队刚刚最近公布@POCO in the Entity Framework: Part 1 - The Experience这将有助于你得到正确的轨道上。

从我使用EFPocoAdapter(前驱EF 4.0)我很乐意为您推荐EF 4.0体验。

您还可以得到一些很酷的n层的情况下,这意味着你可以通过你的对象到另一层,它可以修改和回报他们,你仍然可以坚持他们的数据库支持。其他层不需要知道任何有关实体框架的知识,因此您可以清楚地区分关注点。