1

初めて ServiceStack ORMLite を使用していますが、DataRepositoryBase< T> 基本クラスから次のコマンドを実行すると、「Invalid Column Name 'EntityId'」というエラーが表示されます。

public virtual T Get(int id)
    {
        using (IDbConnection db = CreateDbConnection())
        {
            return db.Where<T>(e => e.EntityId == id).SingleOrDefault(); //ERROR HERE                     
        }
    }

私のクラスはすべて、次のインターフェイスを実装しています。

public interface IIdentifiableEntity
{
    int EntityId { get; set; }
}

私のクラスでは、次のプロパティがあります。

[XmlIgnore]
    [ServiceStack.DataAnnotations.Ignore]
    public int EntityId
    {
        get
        {
            return this.myPrimaryKey;
        }
        set
        {
            this.myPrimaryKey = value;
        }
    }

EntityId プロパティは、データベース内の実際のフィールドではありませんが、EntityId を呼び出すことで、任意のクラスの主キーをいつでも参照できるように、これを使用しています。

このエラーの原因と解決方法を教えてください。

ありがとう!

4

0 に答える 0