-1

私はこれらのようなモデルを持っています

clients(id,name,address)
cars(id,platenum)
client_cars(clientid,carid)

私がやりたいのはに追加carsすることclientで、データはテーブルに保存されclient_carsます。データを追加するフォームには、プレート番号のチェックボックスがあります。この種のアイデアを実現する良い例を知っている人はいますか?

4

3 に答える 3

1

EFを使用すると、概念モデルに多対多のテーブルを含めるべきではありません。店舗モデルのみです。オブジェクトは次のようになります。

clients(id,name,address, cars[])
cars(id,platenum, clients[])

UIには通常、クライアント情報と車のリストを含むクライアントフォームがあります。さらに、あなたの車は

于 2013-02-13T21:39:30.523 に答える
0

SimpleMembership 内では、次の例をいつでも使用できます。

役割

[Table("webpages_Roles")]//3
public class Role
{
    public Role()
    {
        Members = new List<Membership>();
    }

    [Key]
    public int RoleId { get; set; }

    [StringLength(256)]
    public string RoleName { get; set; }

    public ICollection<Membership> Members { get; set; }
}

メンバーシップ

[Table("webpages_Membership")]//1
public class Membership
{
    public Membership()
    {
        Roles = new List<Role>();
        OAuthMemberships = new List<OAuthMembership>();
    }

    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int UserId { get; set; }

    public DateTime? CreateDate { get; set; }

    [StringLength(128)]
    public string ConfirmationToken { get; set; }

    public bool? IsConfirmed { get; set; }

    public DateTime? LastPasswordFailureDate { get; set; }

    public int PasswordFailuresSinceLastSuccess { get; set; }

    [Required, StringLength(128)]
    public string Password { get; set; }

    public DateTime? PasswordChangedDate { get; set; }

    [Required, StringLength(128)]
    public string PasswordSalt { get; set; }

    [StringLength(128)]
    public string PasswordVerificationToken { get; set; }

    public DateTime? PasswordVerificationTokenExpirationDate { get; set; }

    public ICollection<Role> Roles { get; set; }

    [ForeignKey("UserId")]
    public ICollection<OAuthMembership> OAuthMemberships { get; set; }
}

ユーザーインロール

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Membership>()
          .HasMany<Role>(r => r.Roles)
          .WithMany(u => u.Members)
          .Map(m =>
          {
              m.ToTable("webpages_UsersInRoles");
              m.MapLeftKey("UserId");
              m.MapRightKey("RoleId");
          });
    }

申し訳ありませんが、コードを簡単にすることもできましたが、元のクラスから何も変更したくありませんでした。しかし、これはほとんどあなたにそれを行う方法についてのアイデアを与えるはずです.

于 2013-02-13T21:52:44.067 に答える
0

この例を見つけて、私の質問に答えます: http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/updating-related-data-with-the-entity-framework -in-asp-net-mvc-アプリケーション

于 2013-02-13T19:22:27.393 に答える