C# 建议使用.NET上的简单ORM设计来维护遗留应用程序
我的任务是维护一堆遗留应用程序,这些应用程序的存储过程使用率很高,是在2005年之前构建的,当时还没有ORM。与我一起工作的开发人员不了解实体框架和LINQ,也不急于学习 NET上是否有任何ORM可以为现有数据库表和存储过程提供简单的对象接口 如果它能让我编写几行代码来为每个表生成一个类,并且它具有与每列中的数据对应的属性,以及一些方法或属性来解析外键关系/多对多关系-正向和反向,我会非常高兴 例如,保存一个员工和部门记录C# 建议使用.NET上的简单ORM设计来维护遗留应用程序,c#,.net,database,orm,legacy-code,C#,.net,Database,Orm,Legacy Code,我的任务是维护一堆遗留应用程序,这些应用程序的存储过程使用率很高,是在2005年之前构建的,当时还没有ORM。与我一起工作的开发人员不了解实体框架和LINQ,也不急于学习 NET上是否有任何ORM可以为现有数据库表和存储过程提供简单的对象接口 如果它能让我编写几行代码来为每个表生成一个类,并且它具有与每列中的数据对应的属性,以及一些方法或属性来解析外键关系/多对多关系-正向和反向,我会非常高兴 例如,保存一个员工和部门记录 Employee e = new Employee("John", nu
Employee e = new Employee("John", null);
Department d = new Department("QA");
d.save();
e.department = d;
e.save();
无需编写INSERT SQL语句
编辑:
我正在使用MS SQL Server 2008看看Rob Conry的。它简单易用。不过,它看起来需要.NET4。非常容易使用。LINQ到SQL也是一个不错的选择。另外,看一看 我在.NET2.0项目中使用过,它很不错。不幸的是,它似乎不再被开发了。可能也需要研究一下,虽然我个人不太喜欢最初的Java Hibernate,但那是几年前的事了。我也经常使用。最新的亚音速更加面向Linq,但请特别关注其“ActiveRecord”功能。我认为它涵盖了你正在尝试做的基于对象的东西。在亚音速上的开发除了偶尔的错误修复之外,已经不多见了,但它是开源的,而且有一个谷歌小组来解答支持问题。它还支持大量数据库,因为您没有提到您正在使用的数据库。我建议您使用,这是一款全新的ORM,具有易学性 从作者网站: PetaPoco最初的灵感来自Rob Connery的大型项目,但用于非动态POCO对象。这是因为我发现我的许多使用亚音速/Linq的项目进展缓慢,或者成为Linq和Codinghoror的混合包 我需要一个小巧、快速、易于使用的数据访问层,可以在.NET3.5和/或Mono2.6上运行(即:不支持动态expandos)。Rob声称只有400行代码是海量的,这让我很好奇,我想知道如果没有动态,类似的事情是否也可以实现
再次看我的Q,LINQ对我合作的开发人员没有吸引力。你所说的只是他们不急于学习。这并不意味着Linq是一个糟糕的选择。如果没有一行代码,您就可以从表中获得所有属性和类选择.NETORM:我会质疑他们“不愿意学习”这一事实。他们是什么样的开发者?当然,通过学习,他们将扩大自己的知识基础,并在未来变得更具就业能力。只是一个想法,对!我已经离开公司了:)胡说。听起来Kamyar有最好的主意。祝你好运