2009-08-12 11 views
0

私は私のエンティティのPKとしてGUIDを使用しています。 EFは、NEWID()SQL文をサポートしていないとして、私は私の作成方法にGuid.NewGuid()を強制。私はクラスタ化された一意性制約(2列ではなく、PK)を使用してテーブルをしました :エンティティFrmwkのPB:現在のコンテキスト内の「追加」エンティティの検索

は、ここに私の問題です。

私は

が私の文脈で「追加」状態でエンティティを検索することが可能ですなど、操作をperfomsとエンティティをリンク/追加同じ EFコンテキストでいくつかのコードを実行していますか?;それは私の文脈の中にありますが、私のDBにはまだ挿入されていません。

SQL固有の制約が発生しないように、エンティティが既にコンテキスト内で「キューに入れられている」ことを知り、新しいGuid(...と別のエンティティ!:()この記事は:)私を救っ

答えて

1

http://geekswithblogs.net/abhijeetp/archive/2009/07/23/retrieving-added-entities-from-the-objectstatemanager-to-avoid-duplication.aspx

var stateEntries = context.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EtityState.Modified | EntityState.Unchanged); 
    var roleEntityEntries = stateEntries.Select(s => s.Entity).OfType<Role>(); 
    roleEntity = roleEntityEntries.FirstOrDefault(r => r.RoleName.Trim().ToLower() == roleName.Trim().ToLower()); 
    if (roleEntity == null) 
    { 
     return new Role { RoleName = roleName }; 
    } 
関連する問題