C# 实体框架过程不工作

C# 实体框架过程不工作,c#,sql-server,entity-framework,procedure,C#,Sql Server,Entity Framework,Procedure,当我运行这段代码并在SQLServerProfiler中观察时,并没有返回值 exec [dbo].[p_PersonelEkleAgiGetir] @MedeniDurum = N'Evli', @CocukSayisi = 0, @EsCalismaDurumu = N'Çalışmıyor' 我删除了参数前面的N,然后它就工作了。要在代码中工作,我必须做什么 这是我的实体程序代码 public virtual ObjectResult<Nullabl

当我运行这段代码并在SQLServerProfiler中观察时,并没有返回值

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);
}
public virtual ObjectResult p_PersonelEkleAgiGetir(字符串medeniurum、可空cocukSayisi、字符串esCalismaDurumu)
{
var medeniDurumParameter=medeniDurum!=null?
新的ObjectParameter(“MedeniDurum”,MedeniDurum):
新的ObjectParameter(“Medeniurum”,typeof(string));
var cocukSayisiParameter=cocukSayisi.HasValue?
新对象参数(“CocukSayisi”,CocukSayisi):
新的ObjectParameter(“CocukSayisi”,typeof(int));
var esCalismaDurumuParameter=esCalismaDurumu!=null?
新对象参数(“EsCalismaDurumu”,EsCalismaDurumu):
新的ObjectParameter(“EsCalismaDurumu”,typeof(string));
return((IObjectContextAdapter)this.ObjectContext.ExecuteFunction(“p_PersonelEkleAgiGetir”、medeniDurumParameter、CocuksayIsParameter、EscalismadurumParameter”);
}

如果我很理解你的问题,你想知道为什么删除
N
s会使它正确运行,而删除
N
s则不会运行。
N
表示字符串是
Unicode
。当您删除它们时,过程会接受它,因为它接受非Unicode字符串。您可以在此处查看更多信息: