Ras*_*sto 4 .net c# entity-framework linq-to-sql
我开始为ASP.NET MVC网站创建逻辑数据库模型.我使用了随VS一起提供的Entity框架的可视化设计器,因为我之前使用过它.
但是现在我已经有33个类了,我还没完成(包括很多继承和很多关联).我担心手动设置所有表映射而不是生成数据库表对我来说太复杂和耗时.我没有经验 - 我已经用另一种方式完成了:数据库表中的类,我花了很多时间让它在一个较小的项目中工作.
如何在.NET/VS中轻松快速地为逻辑模型(类图)创建数据库表?如果它可以自动生效会很棒.我从未使用LinqToSQL可视化设计器,似乎没有关于如何从LinqToSQL类创建数据库表的Web上的参考.有可能吗?如果没有,是否有任何方法可以自动创建具有Entity框架的数据库表 - 而无需指定表映射?
还有一个问题:如果我使用LinqToSQL类,每次更改属性时都要对数据库进行更改吗?或者是否有一些缓存发生在那里?
实体框架有一个名为"模型优先"的概念,它从您的模型生成数据库模型,因此得名.
你可以在这里阅读:http://msdn.microsoft.com/en-us/data/ff830362
然而,我个人最喜欢的对象关系映射器是NHibernate,加上Fluent NHibernate.它们有一个概念,您可以使用域模型而不是数据模型,并使用约定来控制映射.它非常整洁.您可以通过以下代码查看一些非常好的示例:https://github.com/sharparchitecture/Northwind/tree/master/app
对于你所说的情况,Linq2Sql太有限了.它无法从代码生成数据模型.实际上,Linq2Sql以相反的方式工作 - 它从您的数据模型生成一组类,就像Entity Framework一样.
在您明确选择执行此操作之前,Linq 2 SQL或实体框架都不会提交任何内容.它们都有一个对象上下文的概念,它跟踪所做的所有更改.当您调用"保存"时,它们会将这些更改转换为SQL,然后在数据库中执行.
| 归档时间: |
|
| 查看次数: |
3226 次 |
| 最近记录: |