none
İki tablodan farklı verileri alma RRS feed

  • Soru

  • Aşağıdaki şekilde 2 tablom mevcut. 

    User

            public int UserId { get; set; }
            public string Username { get; set; }
            public string Password { get; set; }
            public int UserLevelId { get; set; }

    Restaurant

            public int RestId { get; set; }
            public string Name { get; set; }
            public string Adress { get; set; }
            public string ContactName { get; set; }
            public string ContactPhone { get; set; }
            public int? UserId { get; set; }

    Yapmak istediğim sorgu ise şöyle;

    Sorgu users tablosunu getirecek fakat restaurant tablosunda ona ait bir restaurant varsa o userin gelmesini istemiyorum. Nasıl yapabilirim? Ef kullanıyorum

    28 Temmuz 2020 Salı 11:58

Yanıtlar

Tüm Yanıtlar

  • propertyler bu kadar mı? relationlar tanımlı değil mi?

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    28 Temmuz 2020 Salı 12:45
    Moderatör
  • propertyler bu kadar mı? relationlar tanımlı değil mi?

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    Tam halleri bu şekilde

        public partial class Users
        {
            public Users()
            {
                Restaurants = new HashSet<Restaurants>();
            }
    
            public int UserId { get; set; }
            public string Username { get; set; }
            public string Password { get; set; }
            public int? UserLevelId { get; set; }
    
            public virtual UserLevel UserLevel { get; set; }
            public virtual ICollection<Restaurants> Restaurants { get; set; }
        }
        public partial class Restaurants
        {
            public Restaurants()
            {
                Categories = new HashSet<Categories>();
                Orders = new HashSet<Orders>();
            }
    
            public int RestId { get; set; }
            public string Name { get; set; }
            public string Adress { get; set; }
            public string ContactName { get; set; }
            public string ContactPhone { get; set; }
            public int? UserId { get; set; }
    
            public virtual Users User { get; set; }
            public virtual ICollection<Categories> Categories { get; set; }
            public virtual ICollection<Orders> Orders { get; set; }
        }


    28 Temmuz 2020 Salı 13:05
  • var usersWithoutRestaurant = db.Users.Where(p=> p.Restaurants.Count() == 0).ToList();

    olabilir.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak Öneren CetinBasoz 28 Temmuz 2020 Salı 14:10
    • Yanıt Olarak İşaretleyen Kenshai 28 Temmuz 2020 Salı 14:22
    28 Temmuz 2020 Salı 13:44
    Moderatör
  • var users = db.Users.Where(u => !u.Restaurants.Any());



    Blog
    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.

    • Yanıt Olarak İşaretleyen Kenshai 28 Temmuz 2020 Salı 14:22
    28 Temmuz 2020 Salı 14:11
  • İkisi de istediğim gibi çalıştı. Teşekkürler. Sabahtan beri bir sürü şey denemiştim. Bu tarz kullanımları ilk defa gördüm
    28 Temmuz 2020 Salı 14:22