0

ここで何が問題なのですか?製品とトランザクションの間に多対多があります。を構築しようとしていますが、クエリがテーブルviewをロードするためのインテリセンスを取得できません。ProductTransaction

エンティティ 1

     [Table("Transactions")]
public class Transaction
{
        [Key]
        public virtual int TID { get; set; }

        public virtual int FromUserID { get; set; }
        public virtual int ToUserId { get; set; }
        public virtual int itemForId { get; set; }

        public virtual ICollection<Product> Products { get; set; }

}

エンティティ 2

      [Table("Products")]
public class Product
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public virtual int ProductId { get; set; }

    [Required]
    [StringLength(50, ErrorMessage="Name can't be longer than 50 characters bitch")]
    public virtual string Name { get; set; }
    public virtual string Description { get; set; }

    public virtual DateTime? UploadDate { get; set; }

    public virtual byte[] ProductImage { get; set; }
    [StringLength(25)]
    public virtual string MimeType { get; set; }

    public virtual int Views { get; set; }

    public virtual int Qty { get; set; }

    // Relations
    public virtual UserProfile User { get; set; }
    public virtual int UserId { get; set; }
    public virtual int CategoryId { get; set; }

    public virtual ICollection<Bag> Bags { get; set; }
    public virtual ICollection<Transaction> Transactions{ get; set; }
}

すべてのトランザクションと取引を確認するためのコントローラー メソッド: クエリにはインテリセンスがありませんProducts

     public ViewResult GetTrades()
    {
        //Include is not recognizing any nav properties

        var friend = db.Transactions.Include(a => a.Products);

    }

多対多の関係

       modelBuilder.Entity<Transaction>()
            .HasMany(p => p.Products)
            .WithMany(t => t.Transactions)
            .Map(m =>
                {
                    m.ToTable("ProductTransactions");
                    m.MapLeftKey("ProductId");
                    m.MapRightKey("TID");


                });
4

1 に答える 1

0

DbExtensions.Include(this IQueryable, Expression<Func<T, TProp>>)拡張メソッドです。

拡張メソッドとしてアクセスするには、名前空間を含める必要があります。

using System.Data.Entity;
于 2013-10-05T07:07:02.050 に答える