C# ADO数据集或实体框架选择构造函数

C# ADO数据集或实体框架选择构造函数,c#,constructor,ado.net,C#,Constructor,Ado.net,我使用的是C和VS2012,以及SQL Server 2008数据库,完全由存储过程驱动 我在使用ADO数据集模型的DataTableAdapter自动生成CRUD操作的有用方法方面有相当多的经验。我可以轻松地连接一个表或存储过程,然后在需要时刷新模式,这在我的RAD环境中非常有用——我们经常添加字段和修改存储过程。我知道如何将CRUD操作作为方法调用来执行,但我不知道如何设计将执行SELECT过程的构造函数。我正在寻找一种解决方法,来解决我认为这个模型的一个局限性,最近我开始试验实体框架,看看

我使用的是C和VS2012,以及SQL Server 2008数据库,完全由存储过程驱动

我在使用ADO数据集模型的DataTableAdapter自动生成CRUD操作的有用方法方面有相当多的经验。我可以轻松地连接一个表或存储过程,然后在需要时刷新模式,这在我的RAD环境中非常有用——我们经常添加字段和修改存储过程。我知道如何将CRUD操作作为方法调用来执行,但我不知道如何设计将执行SELECT过程的构造函数。我正在寻找一种解决方法,来解决我认为这个模型的一个局限性,最近我开始试验实体框架,看看我是否能够克服它,但我还没有足够的经验来判断这是否可行

为了澄清这一点,使用数据集模型时,我可以从数据库中获取强类型Person行,如下所示:

PersonDataSetTableAdapters.Persons adapter = new PersonDataSetTableAdapters.Persons();
PersonRow person = adapter.GetByID(personID);
我更喜欢使用如下所示的选择构造函数模式:

Person person = new Person(personID);
我试图创建自己的帮助器类来提供这一点,但无论如何,我最终不得不显式地在构造函数中设置每个属性,然后在模式更改时维护代码。这正是我想要避免的

因为我想要蛋糕,也想要吃蛋糕——我想要强类型对象和自动生成的代码,当模式发生变化时,这些代码很容易刷新。我还希望能够继承这些基类,并在适当的时候使用分部类扩展它们。我不知道如何使用数据集模型实现所有这些目标。我所发现的EF样本中,似乎没有一个能很好地描述我的模式


我可以用ADO设计简单的选择构造函数吗?您能提供一个简单的代码示例来说明如何使用它吗?

为什么选择构造函数?一个我可以理解的选择工厂方法。事实上,我的大多数实体都不需要继承。虽然工厂方法对于这样做的小部分人来说是一种明智的方法,但我认为无参数或单参数构造函数对于我们的大部分代码库来说是足够的,并且我倾向于我认为是轻量级的方法。把它放在上下文中,我希望重新设计一个系统,这是一个过度设计的系统,因为我们的维护人员太少。为了实现这一点,我想用一些用户界面友好的半自动的东西来取代笨重的SQLClient DAL,这样我们就可以专注于业务逻辑。我并没有提出任何沉重的建议——事实上,作为dapper的aco作者,我为轻量级喝彩——但是:返回实例的方法比构造函数容易得多。见鬼,这是一艘整洁的班轮。