最快,最好和最快的是什么?建议使用DAL中的datareader填充业务对象的方法?目前我使用
myObject.Name=(string) myDataReader["Name"];
myObject.Age=(int) myDataReader["Age"];
达明。
答案 0 :(得分:4)
要回答这个问题(而不是推荐ORM),最快方式就是您已用几行代码说明的方式。这些行是非常脆弱的代码,但是如果你消除DbNull检查和TryParse或Parse操作,并使用列序号而不是列名,那么代码就不会更快或更直接。
当然,如果您打算采用这种方法,那么您最好确保您的数据库代码完全无懈可击,并以完全正确的顺序返回项目,并使用适当的值(即列中没有空值)在C#代码中分配给值类型)。毋庸置疑,这种代码长期来说不是很容易维护......
答案 1 :(得分:3)
将Dapper项目看作轻量级ORM实现。
据我所知,它实际上是由(以及)StatOverflow开发的。
答案 2 :(得分:2)
如果您正在使用数据读取器,那么除了可以对可能为null的列使用空值检查之外,您的方式是一种好方法。最快的方法是使用列索引而不是名称。最好的方法是创建一个T4模板,该模板将在某些数据字典(可能是xml文件)上运行,以便为DTO生成最快的代码并填充这些DTO。
编辑:哦! - 我忘记了 - 推荐的方法是使用一些O / R mapper框架,不要太担心这些平凡的细节!答案 3 :(得分:1)