-1

わかりましたので、私は現時点で少し立ち往生しています。EF、流暢な API などを使用して MVC アプリケーションを作成しましたが、現在、結合テーブルに新しいレコードを取得するのに問題があります。

DB テーブル構造

ユーザー
(pk)ID
ユーザー 名
passwordhash
など

DDRRole
(pk)ID
(fk)RoleId
(fk)DDRId

UserRole
(pk,fk)UserId
(pk,fk)DDRRoleId

ロール
(pk)ID 名

DDR
(pk) ID

クラス構造

テーブルのクラスは、列の小道具を持っていると予想されるものであり、たとえば、ユーザーには がありICollection<DDRRole> DDRRole、DDRRole にはICollection<User> User

これが流暢なAPI部分です(すべてではありませんが、結合テーブルを扱う部分です):

modelBuilder.Entity<User>()
            .HasMany(uc => uc.DDRRole)
            .WithMany(dd => dd.User)
            .Map(x =>
                {
                   x.MapLeftKey("UserID");
                   x.MapRightKey("DDRRoleID");
                   x.ToTable("UserRole");
                });

新しいユーザーを作成するときは問題ありませんが、新しいユーザーを作成するときに、そのユーザーに DDRRole (既にデータベースにある) を与えたいと考えています。 UserRole テーブル。私は流暢なAPIや他のものをどうするべきかについて、これについてたくさん検索しましたが、まだこれを機能させていません。

助けてくれてありがとう

4

1 に答える 1

0

わかりましたので、何が起こっているのかを理解しました(一種の)....作成メソッド内で、作成されたばかりの User オブジェクトを、ロールを追加しようとしていたメソッドに渡しましたが、何かが機能していませんでしたお互いに..簡単に言えば、私は新しいユーザーのIDを渡し、新しいオブジェクトにdb.find(userid)を実行し、そこにロールを追加しました....savechanges()時に挿入働きました。

于 2014-08-26T18:09:41.257 に答える