Entity Framework kullanıyorum ve var olan bir kod satırı var. ve veritabanı için bir iint'e geri çevirmek.Varlıklar LINQ, "Int32 Ayrıştırma (System.String)" yöntemini tanımıyor ve bu yöntem bir mağaza ifadesine dönüştürülemiyor
var record = context.enrollments.SingleOrDefault
(row => row.userId == int.Parse(UserID) && row.classId == int.Parse(ClassID));
Çalıştırmaya çalıştığımda, rhis hatası alırım. "LINQ to Entities," Int32 Parse (System.String) "yöntemini tanımıyor ve bu yöntem bir mağaza ifadesine dönüştürülemiyor."
Bunu denedim yanı
var record = context.enrollments.FirstOrDefault
(row => row.userId == Convert.ToInt32(UserID)
&& row.classId == Convert.ToInt32(ClassID));
ve ben aldığımız bütün bu hata mesajı, "varlıkları için LINQ yöntemi 'Int32 ToInt32 (System.String)' yöntemini tanımıyor ve bu yöntem sevemeyeceğimizdir Ben sıradışı olduğunu bildiğiniz bir mağaza ifadesi
ve nihayet ben de denedim, tercüme edilebilir, ancak benzer durumlar için geçmişte çalışmıştır.
var record = context.enrollments.SingleOrDefault
(row => row.userId == CommonDLL.Sanitize<int>.ConvertType(UserID)
&& row.classId == CommonDLL.Sanitize<int>.ConvertType(ClassID));
Bu hatayı alıyorum. Gördüğünüz gibi farklı şeyleri sevdirmeyi denedim ve hiçbir şey işe yaramıyor, bu yüzden herhangi bir yardım harika olurdu.
Doğru hatırlıyorsam, çalışmasını sağlamak için 'int.Parse' ile' Convert.ToInt32' değiştirebilirsin. –
Bunu yorumlarda belirtmeliydim, ancak bunu denedim ve bu hata iletisini aldım, "{" LINQ to Entities "," Int32 ToInt32 (System.String) "yöntemini tanımıyor ve bu yöntem çevrilemiyor Bir mağaza ifadesine. "}" – SinceForever
"System.Convert.ToInt32" gibi tam ad alanını kullanmayı denediniz mi? Bu özellikle linq'in desteklemediği bir şey değilse yapmam. Sadece burada tahmin ediyorum. – Bensonius