![]() |
1
6
这里需要注意的一个关键问题是,如果数据库模式经常更改,那么您希望具有某种级别的编译时类型安全性。我发现这是NHibernate的一个问题,因为它使用xml映射文件,所以如果您更改了数据库模式中的某些内容,直到运行时您才知道映射被破坏了。 存储过程也会出现问题。 在编译时更改模式时,使用Linq2Sql将使您能够准确地知道代码的中断位置。对于我来说,如果我使用的是一个频繁变化的模式,那么这将优先于其他任何东西 |
![]() |
2
5
直到数据库模式变得非常复杂,我们达到了ActiveRecord模式的极限,它才工作得很好,但只要模式不是非常复杂,它就工作得很好。一旦模式稳定,您就可以切换,以便只在需要时构建DAL。 |
![]() |
3
2
你肯定想用ORM。任何ORM都可以,但您需要能够生成强类型类的东西。当从表中添加、修改或删除字段时,您希望能够重新生成这些类,并且只处理修复编译时错误。如果使用动态模型,可能会出现许多严重的运行时错误。这是非常重要的!我是世界的一部分 MyGeneration sourceforge上的开发团队,我认为这是解决您问题的一个很好的方法。您可以生成Doodas、NHibernate、EasyObject、EntitySpace等。如果您想使用更昂贵的解决方案,请使用 CodeSmith 或 LLBLGen Pro |
![]() |
4
1
NHibernate ,但前提是您可以采用对象优先的方法,在该方法中定义类,然后在映射文件中定义所需的表结构,然后使用NHibernate的内置模式生成类创建数据库模式。 我发现了另一种方法(例如,你有一堆表,然后你将你的对象设计建立在这些表的基础上) MyGeneration +尽管我对生成的类不太满意(主要是因为我对真正的面向对象编程非常严格),但NHibernate仍然可以工作。 |
![]() |
5
1
如果我处在你的位置,我会尝试利用我所知道的(存储过程)与Linq2Sql。Linq2Sql仍然可以使用存储过程,但是您还可以在腰带上放一个新工具。我认为掌握Linq2XXX(X是一种随机技术,而不是成人娱乐……现在我认为这是一个不错的主意)语法和方法将是对您的技能集的一个很好的补充,在一组对象上使用Linq是非常好的。
|
![]() |
6
1
无需注册,也可以在Visual Studio下运行。 |
![]() |
7
1
简直太棒了。根据需要更改数据库。按一下按钮,砰。所有更改都已完成。无需更改自定义代码。我喜欢它。 |
![]() |
8
1
应用程序有多简单?如果我要在几个月内处理模式/设计的东西,而不是真的担心实际的应用程序。我将考虑使用EDM和动态数据实体Web应用程序项目。在我看来,这是你用最少的努力就能完成的。这使您能够专注于模式、数据和其他groovey内容。我希望这次不会有太多的负碰撞! 下面是“新建项目”对话框的外观 this |
![]() |
9
0
|
![]() |
10
0
如果数据库模式经常更改,则首选实体框架而不是LINQ2SQL。如果模式发生变化,则必须使用L2S
EF是L2的超级集合,为您提供了更大的使用灵活性和dbms独立性 |
![]() |
11
0
看看它为什么在变化,看看你是否能够预测和概括即将发生的变化,这样它们就不会破坏你的代码 一个框架可能会使适应变化变得更容易,但更深入的分析会带来更长期的好处 |
![]() |
12
0
任何解决方案都可以工作,您真正需要的是一组测试,这些测试将确保插入、选择、更新和删除等基本操作正常工作。这样,您只需运行测试并检查映射是否是最新的。 |
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
![]() |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
![]() |
Peloucvo · 用数据库中的数据填充JTable 2 年前 |
![]() |
Montaser Majid · 用于从多行中提取单行的SQL查询 2 年前 |
![]() |
Max J. · 用整数作为键将dict写入csv 2 年前 |