-1

C# Entity Framework 4 または 5 の場合

エンティティ クラス #1

public class ClassOne
{
   public string FirstName { get;set; }
}

public class ClassTwo : ClassOne
{
    public string LastName get;set; }
}

IQueryable の場合:

return from e in Context.pClassOneList from r in SomeOtherList select new ClassTwo
{

    // right here how do I get all the fields assigned without having to do it manually? ie:
    FirstName = e.FirstName,



    LastName = r.SomeOtherVar // works perfectly, but the whole of ClassOne is not assigned unless I do it manually.
}

ご協力いただきありがとうございます。

4

2 に答える 2

0

わかりました、基本的には 2 つの異なるリストを取得し、オブジェクト初期化子を使用して新しいオブジェクトをインスタンス化するので、もちろん手動で行う必要があります。

ClassOne を受け取り、ClassTwo の継承されたプロパティをハイドレートする ClassTwo のコンストラクターを作成するか、アダプター パターンを使用してそれにアプローチすることもできます。

SomeOtherList は、内容によっては「手動で」処理する必要がある場合があります。ただし、コンストラクターで創造性を発揮し始めるときは、SOLID の原則に注意してください。

于 2013-08-20T18:47:25.020 に答える