:
Select(a => Convert.ToInt32(a.RoleId))
yapın:
Select(a => a.RoleId.Value)
nedeni hatası açıklamasında ise; Bu sorguları IQueryable üzerinden yaptığınızda, seçici içinde kullanılan yöntemlerin bir SQL sorgusuna veya işlevine dönüştürülebilen bir şey olması gerekir. Bu durumda Convert.ToInt32()
böyle bir yöntem değildir. alanları için null
izin verilen, .NET .Value
özelliğini kullanarak çalışır.
Ancak, RoldId
ürününüz null
ürününün çalışıyorsa bu durumun çalışmadığını unutmayın. Bir InvalidOperationException
alırsınız. Sen arka alan null onun yerine bir dizi değeri döndürmek isteyebilirsiniz: bir, ve int.MinValue
değilse varsa
Select(a => a.RoleId.HasValue ? a.RoleId.Value : int.MinValue)
Bu değeri döndürecektir.
ben 'Convert' fonksiyonları LıNQ varlıkları ile çalışmaz düşünüyorum, bir' db.AccountRules yapabileceği mümkündür. AsEnumerable() 've geri kalan – V4Vendetta