【发布时间】:2013-06-23 08:21:38
【问题描述】:
我有一个带有 nvarchar 字段的表(MS SQL Server 2008 R2)。对于测试,这段代码可以正常工作:
Update [Screenshots] set name=N'Значение' where id=230246
现在我创建了实体框架模型,我将 Unicode 设置为 True
然后我尝试更新我的记录:
public void Put(FormDataCollection formData)
{
string filename = formData.Get("filename");
var screenshot = c.Screenshots.Where(p => p.filename == filename).FirstOrDefault();
if (screenshot != null)
{
screenshot.name = formData.Get("description");
c.SaveChanges();
}
}
但我得到了“??????”而不是 unicode 值。怎么做?我知道 AsNonUnicode 方法,但此方法仅适用于 LINQ。
【问题讨论】:
-
问题可能出在数据库端 - 而不是 EF 端?
-
正如我所写,更新 [Screenshots] set name=N'Значение' where id=230246 工作正常。我可以确定,这个问题不在数据库端吗?