2016-04-02 17 views
1

3 tablolarım var (User, Tags, Book).Belirli bir etikete ilişkin kitabı alma

User tablosundaki bir Interesting özniteliğim var, bir tag_id ürününe (I bir tagid içine kaydediyorum) sahiptir. Ayrıca pek çok etiketli tablo ilişkisi olan birçok etiket içeren bir Tags tablom var. Burada

public class Tag 
{ 
    public virtual int Id { get; set; } 
    public virtual string Name { get; set; } 
    public virtual string UrlSlug { get; set; } 
    public virtual string Description { get; set; } 

    public virtual ICollection<Book> Books { get; set; } 
} 

ve

kitap tablosudur:

public partial class Book 
{ 
    [Key] 
    public int Book_id { get; set; } 

    [Required] 
    [Display(Name ="User Name")] 
    [StringLength(128)] 
    public string User_ID { get; set; } 

    public virtual ICollection<Tag> Tags { get; set; } 
    public virtual AspNetUser AspNetUser { get; set; } 
} 

ve burada kullanıcı tablosudur:

public partial class AspNetUser 
{  
    public string Id { get; set; } 
    public string Email { get; set; } 
    public bool EmailConfirmed { get; set; } 
    public string PasswordHash { get; set; } 

    [Display(Name = "Interesting")] 
    public int Interesting { get; set; } 

    public virtual ICollection<Book> Books { get; set; } 
} 

Interesting niteliği maç kitabı almak için burayı SQL deyimi nedir ?

Ben 17 var İlginç özelliğindeki Örneğin

, bu yüzden etiket id 17 ile ilgili kitap almak istiyorum ..

Not: benim birçok çoğa ilişki adından oluşturulur masanın TagBooks

olduğunu

enter image description here

enter image description here

+0

Neden bir tag_id alırken int türünde bir int türünde değil? – CodeNotFound

+0

tamam, int –

cevap

2

Bu, o "Swift" etiketi ile ilişkili tüm mesajları vermelidir. Eğer TagId dayalı bir sonuç almak istiyorsanız

var books = dbContext.Books.Where(s => s.Tags.Any(f => f.Name == "Swift")).ToList(); 

, yüklemi durumunu değiştirin.

var books = dbContext.Books.Where(s => s.Tags.Any(f => f.Id== 17)).ToList(); 
+0

çok teşekkür ederim :) –

İlgili konular