Tagi na forum.

C# 1456 XML 282
SQL 1192 sieci 268
ASP.NET 785 IIS 262
Windows 726 C++ 255
web 608 Html 218
Visual Studio 515 Information Technology 193
SQL Server 425 MSDN 167

pokaż wszystkie tagi na forum

EF Code First i problem z zapytaniem

JohnyBee 2012-01-15 12:44:09
0
avatar
 
 

Witam,

mam 3 klasy:

    [Table("Firmy"]  
    public class Firma
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public int FirmaId{ get; set; }
        [MaxLength(150), Required]
        public string Nazwa { get; set; }
        [MaxLength(50), Required]
        [DisplayName("Nazwa skrócona")]
        public string NazwaKrotka { get; set; }
        public int? Telefon { get; set; }
        public int? Fax { get; set; }
        [MaxLength(150)]
        public string Ulica { get; set; }
        //[MaxLength(5)]
        public int Kod { get; set; }
        [MaxLength(150)]
        public string Miasto { get; set; }
        [MaxLength(150), Required]
        [DisplayName("E-mail")]
        public string Email { get; set; }
        public bool Aktywny { get; set; }
        public virtual ICollection<FirmaOddzialHistoria> Oddzialy { get; set; }
    }

 

    [Table("FirmyOdddzialyHistoria")]  
    public class FirmaOddzialHistoria
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int FirmaOddzialHistoriaID { get; set; }
        public virtual Firma Firma { get; set; }
        public virtual FirmaOddzial FirmaOddzial { get; set; }
        public DateTime DataStart { get; set; }
        public DateTime DataKoniec { get; set; }
    }
    [Table("FirmyOddzialy"]  
    public  class FirmaOddzial
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public int OddzialId{ get; set; }
        public int? Telefon { get; set; }
        public int? Fax { get; set; }
        [MaxLength(150)]
        public string Ulica { get; set; }
        [MaxLength(5)]
        public string Kod { get; set; }
        [MaxLength(150)]
        public string Miasto { get; set; }
        [MaxLength(150), Required]
        public string Email { get; set; }
        public bool Aktywny { get; set; }
        public virtual ICollection<FirmaOddzialHistoria> Firmy { get; set; }
        public virtual ICollection<UzytkownikHistoria> Uzytkownicy { get; set; }
        public Limit Limit { get; set; }
    }

 

W kontrolerze(MVC) chcę pobrać wszystkie oddziały należące w chwili obecnej do określonej firmy czyli powinienem zrobić coś takiego:

repository.FirmyOddzialy.Where(p => p.Firmy.DataStart<=DateTime.Now && p.Firmy.DataStop>=DateTime.Now && p.Firmy.Firma.FirmaId==1)

 

niestety z jakiegoś powodu VS nie widzi właściwości DataStart, DataStop, itd.Jakieś pomysły jak rozwiązać ten problem?

Będę wdzięczny za wszelkie podpowiedzi.




mrrandom  2012-01-15 13:44:49 #1
0
avatar
 
 

Pole Firmy w FirmaOddzial jest mnogie

A próbujesz korzystać z niego jak z pola pojedynczego:


JohnyBee  2012-01-15 14:00:23 #1.1
0
avatar
 
 

Pole jest mnogie bo to jest relacja "one to many", jak powinno wyglądać prawidłowo zapytanie żeby osiągnąć zamierzony efekt?


m.iwanowski  2012-01-15 18:47:12 #2
1
avatar
 
 

Powienieś raczej napisać zapytanie w stylu: repository.FirmyOddzialHistoria.Where(p => p.DataStart<=DateTime.Now && p.DataStop>=DateTime.Now && p.Firma.FirmaId==1).Select(p => p.FirmaOddzial)


Pozdrawiam

Marcin Iwanowski

 

...::: Jeżeli mój post jest rozwiązaniem Twojego problemu, kliknij "Rozwiązanie" :::...

Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony