我正在C#和MySQL的个人项目开始时玩。
我熟悉Gentle Framework的使用(使用MyGeneration根据数据模型生成类)。这就是我喜欢的温柔;
不幸的是,为了有效地进行查询,我最终使用了查询/ SqlCommands,并且依赖于对列名等的弱类型引用,并且似乎冒着回避对象代理并因此缓存优势的风险。无论如何,Gentle不再被开发,似乎是考虑替代品的好时机。
那么,我应该考虑什么?
您的意见将不胜感激!提前谢谢你......
答案 0 :(得分:2)
我有一些Gentle的经验,我不得不承认查询效率非常低。我建议调查NHibernate,因为它有一个丰富的社区。确实,XML定义是首选,但有一些方法可以使用类级属性进行映射。
SubSonic(特别是3.0 version)看起来很有希望使用T4 templates。这应该可以让您更好地控制代码生成。它也可以做LINQ。
不要投资LINQ-to-SQL,因为谣言将会停止。
答案 1 :(得分:2)
假设.Net 3.5 Framework是一个可供使用的选项,那么您可以查看Microsoft的Entity Framework(随.Net 3.5 Service Pack 1发布)。
实体框架允许基于您的数据库模式生成DAL类,但这些类的维护隐藏在XML文件的后面,可以通过Visual Studio中的简单命令快速轻松地更新以解决模式更改IDE。
我正在开发一个项目,我们使用实体框架与MySQL几乎没有问题。 这个选项的主要缺点是MySQL提供的官方.Net连接器还不支持实体框架 - 有一种称为MyDirect.Net的付费替代方案
答案 2 :(得分:0)
感谢Filip和Snorkpete提供的建议 - 您的评论和链接证明是有帮助的。
我可能会先尝试SubSonic;它看起来像我会理解的东西,能够迅速开始(今天应该回答),我很惊讶地发现它是由MS间接支持的,因为他们聘请了写作的人。 T4看起来也很有趣。
实体关系模型看起来也很有趣,MyDirect链接将来可能会有所帮助。这里唯一的缺点就是期望; MS在过去通过拖放创建初始设计很容易搞砸了他们的方法,然后更难以修改或保持最新。
无论如何,再次感谢你们,我会尽力更新这个问题。
NIJ
答案 3 :(得分:0)
link text我会选择亚音速,成熟的DAL发生器并大幅提高生产力。
我们已经将它与MySQL和SQL Server一起使用 - 没有头疼的问题。为表,存储过程,列名生成类。所以每当我们发现自己做Somthing Dot Intellisense Move Arrow键和分号时。
每当您的架构发生变化时,您都可以重新生成这些类,并且您就在家中。此外,您可以通过创建分部类来扩展它们。
它支持几乎所有的SQL语义 - 连接,通过主键加载Collection,添加WHERE子句,Order by,Count,Top,调用存储过程,视图等等,直觉语法是大加。
为了给你一些一瞥 - For Books表[BookID-PK,title,AuthorID],它会生成几种类型的方法。
这是快速链接。
谢谢, 毛利克莫迪
答案 4 :(得分:0)
我使用一些SQL来从表中生成强类型对象,它基于Cade Bryant构建的一个,但我做了一些调整。它生成的代码不是100%可编辑的,但它可以节省大量的锅炉板工作,并且容易填补空隙(如果我是你,我会使所有属性完全成熟的属性,或承受jon双向飞碟的愤怒!)< / p>