0

誰かが次のことを説明してくれませんか:

指定された型のインスタンスを作成する次のコードがあります。

MethodInfo methodInfo = this._dbContext.GetType().GetMethod("CreateObject").MakeGenericMethod(instanceType);
object invokedObject = methodInfo.Invoke(this._dbContext, null);

_dbContext私のエンティティモデルのどこに。

次のクラスのインスタンスを作成しようとすると、すべて問題なく動作します。

public partial class User : EntityObject
{
 ....
}

しかし、次のクラス内で同じことを試みると、エラーが発生します。

ID 'MyNamespace.Account' を持つメンバーは、メタデータ コレクションに存在しません。

public partial class Account : ComplexObject
{
....
}

のインスタンス/オブジェクトを作成できるのに を作成できない理由を誰か説明してもらえますEntityObjectComplexObject?

どうもありがとう!!

[アップデート]

    public ObjectSet<User> Users
    {
        get
        {
            if ((_Users == null))
            {
                _Users = base.CreateObjectSet<User>("Users");
            }
            return _Users;
        }
    }
    private ObjectSet<User> _Users;
4

1 に答える 1

0

実際には 2 つの問題があります。

  1. 更新された質問に記載されているように、contextへの参照が含まれていないため、コンテキストからAccount(メソッドを使用して) 要求する前に追加する必要があります。'CreateObject'

    public ObjectSet<Account> Accounts
    {
        get
        {
            if ((_Accounts == null))
            {
                _Accounts = base.CreateObjectSet<Account>("Accounts");
            }
            return _Accounts;
        }
    }
    
    private ObjectSet<Account> _Accounts;
    
  2. あなたAccountは であるため、ComplexTypeとして使用することはできないと思います。 にはがなく、 親 の一部としてしか使用できないためです。ObjectSet<>ComplexTypeIdentityEntity

于 2013-05-14T09:44:33.187 に答える