我是Telerik OpenAccess ORM的新手,并且使用数据库第一种方法的MVC项目。我在他们的网站上浏览了关于模型的教程视频: http://tv.telerik.com/watch/orm/building-a-mvc-3-application-database-first-with-openaccess-creating-model?seriesID=1529
我很想知道如何扩展域类&从Modal查询数据库?例如,我有一个生成的“人”类&我正在用以下课程扩展它:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MVCApplication
{
public partial class Person
{
public string PersonName
{
get
{
return this.FirstName + " " + this.LastName;
}
}
}
}
这与上面视频中显示的示例非常相似。我很好奇我是否可以从Person表或符合某个标准的Person对象的集合中检索所有记录?我的“返回”查询将如何?我在这个扩展的Model类中没有dbContext:(
public List<Person> GetAllPeople()
{
// return List here
}
public List<Person> GetAllPeopleFromLocationA(int locationID)
{
//return List here
}
答案 0 :(得分:2)
通常,域类不用于查询数据库,我建议您在域上下文的部分类中添加 GetAllPeople 和 GetAllPeopleFromLocationA 方法,如下所示:
public List<Person> GetAllPeople()
{
return this.People.ToList();
}
public List<Person> GetAllPeopleFromLocationA(int locationID)
{
return this.People.Where(p => p.LocationID == locationID).ToList();
}
然后您可以使用以下方法:
using (YourContextName context = new YourContextName())
{
foreach (Person person in context.GetAllPeople())
{
// you could access your custom person.PersonName property here
}
foreach (Person person in context.GetAllPeopleFromLocationA(someLocationID))
{
// you could access your custom person.PersonName property here
}
}