1

私はTelerik OpenAccess ORMを初めて使用し、データベースファーストアプローチでMVCプロジェクトに使用しています。モデルに関する彼らのサイトでこのチュートリアルビデオを見ました: http://tv.telerik.com/watch/orm/building-a-mvc-3-application-database-first-with-openaccess-creating-model?seriesID= 1529年

Modal からドメイン クラスとクエリ データベースを拡張する方法を知りたいです。たとえば、生成された「Person」クラスがあり、次のクラスでそれを拡張しています:

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 オブジェクトのコレクションからすべてのレコードを取得できるかどうか知りたいです。「返品」クエリはどのようになりますか? この拡張モデル クラスで利用できる dbContext がありません :(

public List<Person> GetAllPeople()
{
// return List here
}

public List<Person> GetAllPeopleFromLocationA(int locationID)
{
//return List here
}
4

1 に答える 1

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
    }
}
于 2013-04-10T08:48:59.393 に答える