6

Bir Varlık SQL sorgusu var parametreleri null, sonra System.ArgumentNullException olsun. Bu yüzden de adı boş olup olmadığını DBNull.Value kullanmaya çalıştı ve şu istisna olsun:varlık Framework 4.0 Varlık SQL geçen boş ObjectParameter

System.ArgumentOutOfRangeException
İleti = Belirtilen parametre türü yakalandı 'System.DBNull' değil geçerli. Sadece sayısal tipleri, örneğin System.Int32, System.Decimal, System.DateTime ve System.Guid olarak, desteklenmektedir.

Null değerlerinin de olası parametre değerlerinde parametreli sorgulara sahip olmak isterim. Bunu Entity SQL ile nasıl başarabilirim? Haklısınız

cevap

10

, ObjectParameter yapıcı bir hata gibi görünüyor. Ancak, Value özelliği boş değerleri kabul ediyor gibi görünüyor. ile kodunu değiştirmek için deneyin:

var prm = new ObjectParameter("p", typeof(string)); 
prm.Value = name; 

var results = context.CreateQuery<WorkflowInstance>(
    query, prm).ToList(); 

Eğer Değer parametresi doğrudan kod çalışıyor gibi görünüyor atarsanız.

Davide

1

Güzel yayın Davide, bir tam sayı değer geçmek için bu düzeltme kullanılan;

var prm = new ObjectParameter("pName", typeof(int)); 
prm.Value = pmId;