Birçok varlık karması varlık çerçevesini yapmak için en iyi yol nedir.Benzer ifade ile birçok linq sorgusuna çok
modelBuilder.Entity<DocumentUploadEntity>()
.HasMany(x => x.Tags)
.WithMany(x => x.Documents)
.Map(x =>
{
x.ToTable("tblUploadDocumentsTags");
x.MapLeftKey("fld_int_document_id");
x.MapRightKey("fld_int_tag_id");
});
:
Ben bu gibi onları map Ben belgeleri sınıf
[Table("tblUploadDocument")]
public class DocumentUploadEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("fld_int_ID")]
public int ID { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
sahip
favori Bir Etiket sınıfı
[Table("tblTags")]
public class Tag
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
[Column("fld_int_id")]
public virtual int Id { get; set; }
[Column("fld_str_name")]
public virtual string Name { get; set; }
public virtual ICollection<DocumentUploadEntity> Documents { get; set; }
}
sahip bir etiket sınıf var
Benzer bir ifadede bir etiket adı içeren herhangi bir belgeyi aramak istiyorum. Sql bunu yapmanın olsaydı bunu yapabilirmiydim:
SELECT * FROM tblUploadDocument d
INNER JOIN tblUploadDocumentsTags ud
ON fld_int_document_id = d.fld_int_id
INNER JOIN tbltags t
ON ud.fld_int_tag_id = t.fld_int_id
WHERE t.fld_str_name like 'foo%';
tablo adları ve alan adlarını Lütfen bağışlayın, bu ben neden oldum değildi.
Bunu linq ve varlık çerçevesiyle nasıl yapabilirim.
Onun gibi işleç 'foo%' dir, o bir StartsWith İçerir –
@JamesDev Ah, doğru, teşekkürler! –