簡體   English   中英

實體框架過程不起作用

[英]Entity Framework procedure is not working

當我運行此代碼並在SQL Server Profiler中觀察時,沒有返回值

exec [dbo].[p_PersonelEkleAgiGetir] 
     @MedeniDurum = N'Evli',
     @CocukSayisi = 0,
     @EsCalismaDurumu = N'Çalışmıyor'

我從參數前面刪除了N ,然后它起作用了。 我需要做什么才能使其在代碼中起作用?

這是我的實體過程代碼

public virtual ObjectResult<Nullable<decimal>> p_PersonelEkleAgiGetir(string medeniDurum, Nullable<int> cocukSayisi, string esCalismaDurumu)
{
    var medeniDurumParameter = medeniDurum != null ?
        new ObjectParameter("MedeniDurum", medeniDurum) :
        new ObjectParameter("MedeniDurum", typeof(string));

    var cocukSayisiParameter = cocukSayisi.HasValue ?
        new ObjectParameter("CocukSayisi", cocukSayisi) :
        new ObjectParameter("CocukSayisi", typeof(int));

    var esCalismaDurumuParameter = esCalismaDurumu != null ?
        new ObjectParameter("EsCalismaDurumu", esCalismaDurumu) :
        new ObjectParameter("EsCalismaDurumu", typeof(string));

    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<decimal>>("p_PersonelEkleAgiGetir", medeniDurumParameter, cocukSayisiParameter, esCalismaDurumuParameter);
}

如果我很好地理解了您的問題,那么您想知道為什么刪除N s可以使其正常運行,但是使用N s不能運行。 N表示字符串是Unicode 擦除它們時,該過程將接受它,因為它接受非Unicode字符串。 您可以在此處查看更多信息:

T-SQL語句中前綴N的含義是什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM