我已经构建了一个基本的 DAL,它可以使用这个 DAL 检索数据和一个包含多个对象的业务层。一旦我将数据映射到业务对象并对其进行了处理,我还想将数据写回数据库。一些业务对象有很多属性,因此将业务对象的每个值作为参数传递给相应数据服务的方法是不可能的。
我一直在考虑的其他方式:
将业务对象传递给相应的数据服务,在那里执行一个将所有值作为参数的 SP。- 糟透了,因为我必须将一个业务对象传递给 DAL(违反分离)并且可能最终得到具有 >50 个参数的 SP
在业务对象中创建一个空 (?) 数据集,用业务对象中的值填充它,将该数据集传递给数据服务并通过数据适配器更新数据库。我想用“... WHERE 0”-SQL 字符串创建一个空数据集。那会是一个好习惯吗?
这是我第一次做这样的事情。后者对我来说听起来更好,但也许还有其他更好的方法?或者由于某些我不知道的原因,第一个更好?
非常感谢你!
[编辑:] 我不能使用 LinQ2SQL,因为我使用 C# Express(它只支持查询本地数据库,而我的是远程数据库)