Geçtiğimiz günlerde bu sorunu çözdüm, bu da biraz zaman aldı. Ben kod böyle parça var: DefaultIfEmpty davranış belirtimleri
private Member FindMemberByName(string name)
{
var member =
this.db.Members.AsEnumerable()
.Where(d => d.ShortName == name)
.DefaultIfEmpty(this.CreateNewMember(name))
.First();
return member;
}
private Member CreateNewMember(string name)
{
return this.db.Members.Add(new Member { Name = name });
}
Ben FindMemberByName beklenen() Mevcut varlığı dönmek ve bulunmadığı zamanlarda yeni varlık yaratmak ve bir dönüş.
Ancak, varolan ad geçse bile CreateNewMember() çağrıldığını fark ettim.
Kullanılacak varsayılan nesneye başvuruda bulunmayan benzer bir yöntemi kodlayarak bunu görebilirsiniz: FirstOrDefault() ?? EndNewMember', endişelerin mikro ayrımıdır. –