サーバーデータの一部をクライアントデータセットと同期させておく必要があるサーバーとクライアントデータベースがあります。データベーススキーマは、サーバー上でIDENTITY(1,1)を使用した場合と同じです。StoreGeneratedPatternを変更して、Entity FrameworkにID付きの挿入ステートメントを生成させるにはどうすればいいですか?
データはサーバー上でのみ作成できます。サーバーのIDを使用してクライアントに挿入する必要があります。
CREATE TABLE [MyServer].[dbo].[Test1](
[Test1Id] [int] IDENTITY(1,1) NOT NULL,
[Test1Value] [datetime] NOT NULL,
CONSTRAINT [PK_Test1] PRIMARY KEY CLUSTERED ([Test1Id] ASC)) ON [PRIMARY]
CREATE TABLE [MyClient].[dbo].[Test1](
[Test1Id] [int] NOT NULL,
[Test1Value] [datetime] NOT NULL,
CONSTRAINT [PK_Test1] PRIMARY KEY CLUSTERED ([Test1Id] ASC)) ON [PRIMARY]
私はクライアント側でIDENTITYを挿入することができるようにアセンブリを再構築することなく、エンティティクラスのStoreGeneratedPatternを変更する方法はありますか?私はいくつかの時間を探して費やしました
EntityModelCodeGenerator
しかし成功しません。
もちろん、私は起動時にこの変更を行うことができるので、私は別のアプリドメインでサーバーとクライアントを実行します。
私はデフォルトのEntityFrameworkクラスを使用しています。自分の問題が解決したら、POCOエンティティに変更できます。クラスは単純で、NavigationPropertiesではなくidで参照されます。
おかげ