Linq sorgusunda iki tarihin eşit olup olmadığını ve tarihlerin iki farklı tablodan geldiğini kontrol etmem gerekiyor (parametre olarak değil)). Web'de ve SO'da mevcut çözümlere baktım. Bazıları benim durumumda geçerli değil ve bazıları zarif değil. sadece varsa daha iyi bir alternatif çözüm arıyorum.İki tarihin eşit olup olmadığını kontrol etmek için şık bir çözüm, Linq'de (ikinci tarihin parametresi DEĞİLDİR)
örnek sorgu (sadece tarih bölümlerini karşılaştırmak gerekir):
var query = from t1 in Table1
join t2 in Table2 on t1.Id equals t2.ForeignKeyId
where t1.Id = someId
&& t1.Date1.Date.Equals(t2.Date2.Date)
bu bir Entitiies için LINQ desteklenmeyen bir hata " 'Tarih' ile başarısız Sadece başlatıcıları, varlık üyeleri ve varlık navigasyon özelliklerini. "
" 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported numaralı yayın, gün, ay ve yılı ayrı ayrı karşılaştıran bir çözüm sunar. Bir uzantı yöntemine sarmayı denedim, ama Linq'in uzantı yöntemlerini de sevmediği anlaşılıyor. ikinci tarih değişkeni olmadığından, bağlantılı postada belirtilen diğer çözümü kullanamıyorum (ve bir nedenden dolayı Linq içinde bir tarihte "AddDays" yöntemini arayamıyorum). Linq'de Date API ile birçok sınırlama var gibi görünüyor.
karşılaştıran gün, ay ve yıl ayrı çalışıyor mu? – dasblinkenlight
evet, bunları ayrı ayrı karşılaştırırsam çalışır. – RKP