Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#和MySQL——温和的框架替代方案_C#_Orm - Fatal编程技术网

C#和MySQL——温和的框架替代方案

C#和MySQL——温和的框架替代方案,c#,orm,C#,Orm,我在C#和MySQL的个人项目开始时玩 我熟悉温柔框架的使用(使用MyGeneration根据数据模型生成类)。这就是我喜欢温柔的地方 易于使用的[class]。检索(id)/[object]。具有强类型字段的Persist()语义 我从DB数据模型开始,选择何时生成新的代码文件 MyGeneration允许跨代保存一些“手动代码段” …和分部类允许我在并行文件中添加永久代码,例如简单的只读属性(如Person对象的FirstName和姓氏成员的“FullName”),或者我可以使用继承 我发

我在C#和MySQL的个人项目开始时玩

我熟悉温柔框架的使用(使用MyGeneration根据数据模型生成类)。这就是我喜欢温柔的地方

  • 易于使用的[class]。检索(id)/[object]。具有强类型字段的Persist()语义
  • 我从DB数据模型开始,选择何时生成新的代码文件
  • MyGeneration允许跨代保存一些“手动代码段”
  • …和分部类允许我在并行文件中添加永久代码,例如简单的只读属性(如Person对象的FirstName和姓氏成员的“FullName”),或者我可以使用继承
  • 我发现创建DAL并向其添加某些业务对象层(如工具)是一种可以忍受的快速方法
不幸的是,为了高效地进行查询,我最终相当多地使用了querys/SqlCommands,并且依赖于对列名等的弱类型引用,这似乎有可能避开对象代理,从而避免缓存优势。在任何情况下,温柔不再被开发,这似乎是一个考虑其他选择的好时机。 那么,我应该考虑什么?

  • 生成强类型ADO数据集是可能的,但似乎很难以在更新表结构并重新生成数据集后保持不变的方式添加到强类型ADO数据集(例如“全名”虚拟列)
  • NHibernate似乎有很多粉丝。。。但我的第一次调查似乎表明,XML数据定义才是王者,而不是数据库中现有的数据模型。它看起来也非常依赖于依赖关系
  • 亚音速演示似乎表明它可以生成文件,而在WebAppProjects的演示中,它可能会以我可以添加或继承的方式生成文件
  • MySql Connector.Net工具似乎不支持Linq的数据集生成(例如通过拖放),我怀疑这是强类型数据访问的关键需求

我们将非常感激您的想法!提前谢谢你…

我有一些关于温柔的经验,我不得不承认它在查询方面效率很低。我建议调查NHibernate,因为它有一个丰富的社区。确实,XML定义是首选的,但也有使用类级属性进行映射的方法

亚音速(尤其是超音速)的使用看起来非常有前景。这将使您能够更好地控制代码生成。它也可以做林克


不要投资LINQ to SQL,因为谣传LINQ to SQL即将停产。

我有一些使用温柔的经验,我不得不承认它在查询方面效率很低。我建议调查NHibernate,因为它有一个丰富的社区。确实,XML定义是首选的,但也有使用类级属性进行映射的方法

亚音速(尤其是超音速)的使用看起来非常有前景。这将使您能够更好地控制代码生成。它也可以做林克


不要投资于LINQ to SQL,因为谣传LINQ to SQL即将停产。

假设.Net 3.5框架是一个可供使用的选项,那么您可以看看Microsoft的Entity Framework(与.Net 3.5 Service Pack 1一起发布)

实体框架允许基于数据库模式生成DAL类,但这些类的维护隐藏在XML文件后面,可以通过Visual Studio IDE中的简单命令快速轻松地进行更新,以说明模式更改

我正在做一个项目,在这个项目中,我们使用实体框架和MySQL,几乎没有问题。
此选项的主要缺点是MySQL提供的官方.Net连接器尚不支持实体框架-有一种付费的替代方案称为

,假设使用.Net 3.5框架,那么您可以看看Microsoft的实体框架(随.Net 3.5 Service Pack 1发布)

实体框架允许基于数据库模式生成DAL类,但这些类的维护隐藏在XML文件后面,可以通过Visual Studio IDE中的简单命令快速轻松地进行更新,以说明模式更改

我正在做一个项目,在这个项目中,我们使用实体框架和MySQL,几乎没有问题。
此选项的主要缺点是MySQL提供的官方.Net连接器尚不支持实体框架-有一个付费的替代方案称为

,这要感谢Filip和Snorkpete的建议-您的评论和链接证明是有用的

我可能会先尝试亚音速;这看起来像是我能理解并能很快处理的事情(今天应该能回答这个问题),我很惊讶地看到,微软间接地支持这一点,因为他们雇用了写这篇文章的人。T4看起来也很有趣

实体关系模型看起来也很有趣,指向MyDirect的链接将来可能会有所帮助。这里唯一不好的一面是期望;微软过去的做法很糟糕,他们可以轻松地通过拖放创建初始设计,之后更难修改或保持最新

无论如何,再次感谢你们两位,我会尽力更新这个问题


Nij

感谢Filip和Snorkpete提供的建议-您的评论和链接证明非常有用

我可能会先尝试亚音速;这看起来像是我能理解并能很快处理的事情(今天应该能回答这个问题),我很惊讶地看到,微软间接地支持这一点,因为他们雇用了写这篇文章的人。T4看起来也很有趣

实体关系模型看起来也是int型的