我习惯了EF,因为它通常工作得很好,只要你更好地了解它,所以你知道如何优化你的查询。但是。
所以我有点困惑我应该使用哪种DAL技术/库?我不想使用SqlConnection/SqlCommand来完成这项工作,因为我需要编写更多的代码来隐藏一些不明显的错误。
我想使缺陷表面尽可能小,并使用一种技术,将适应我的进程,而不是相反。。。
有没有图书馆能让我:
比如:
List<Person> result = Context.Execute("StoredProcName", record => new Person{
Name = record.GetData<string>("PersonName"),
UserName = record.GetData<string>("UserName"),
Age = record.GetData<int>("Age"),
Gender = record.GetEnum<PersonGender>("Gender")
...
});
甚至调用返回多个结果集的存储过程等。
List<Question> result = Context.ExecuteMulti("SPMultipleResults", q => new Question {
Id = q.GetData<int>("QuestionID"),
Title = q.GetData<string>("Title"),
Content = q.GetData<string>("Content"),
Comments = new List<Comment>()
}, c => new Comment {
Id = c.GetData<int>("CommentID"),
Content = c.GetData<string>("Content")
});
基本上这最后一个不起作用,因为这一个不知道如何把两者结合在一起。。。但你明白了。
所以要把这一切归结为一个问题: