0

データベースから生成されたいくつかの EF5.0 エンティティを WCF データ サービスで公開しました。

データ サービスは、(データ サービスから) エンティティを取得してローカルに格納する WPF クライアントによって消費されます。これを行うには、WCF エンティティに基づいてコード ファーストのエンティティ データベースを作成します。

public class LocalRaceContext : DbContext
{
    public LocalRaceContext() { }
    public LocalRaceContext(string connstr) : base(connstr) { }

    public DbSet<Participant> Participants { get; set; }
    .
    .
    . more ...
}

(クライアント側モデルで) 新しいプロパティを使用して Participant を拡張したいと考えています。私は次のような部分クラスでこれを行うことができると考えました:

public partial class Participant
{
    public virtual List<Stamp> Stamps { get; set; }
}

ただし、これは機能しません。部分クラスに何らかの属性が必要ですか?

次のエラーが表示されます。

"The type 'RaceEntities+Participant' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject."

編集:

@ IronMan84: EFコードが最初にデータベースとテーブルの作成を処理するため、元のモデル(部分クラスなし)が機能します。実際には問題なく動作し、EF モデルをローカルの SQL CE ファイルに保存して、後でオブジェクトを EF クラスとして再度取得することができます。

私が達成しようとしているのは、データ サービスからのデータをローカルに永続化することですが、モデルは多少拡張されています。ここまで延長部分まで成功しました。

@Matt Whetton: LocalRaceContext の新しいインスタンスを作成すると失敗します。

Edit2:空の部分クラス (プロパティなし) を作成しようとしました。それでも同じエラーがスローされます。

前もって感謝します

フレデリク

4

1 に答える 1

1

入れ子になったクラスは、EF ではまだサポートされていません。Participant クラスを RaceEntities の外に移動します。

于 2013-02-22T00:25:41.830 に答える