Telerik Openaccess ORM扩展了域模型

时间:2013-04-09 19:27:45

标签: model-view-controller telerik telerik-mvc telerik-open-access

我是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
}

1 个答案:

答案 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
    }
}