我在Sybase中有简单的表
-- Creating table 'SimpleText'
CREATE TABLE [dbo].[SimpleText] (
[Id] nvarchar(10) NOT NULL,
[SimpleValue] nvarchar(120) NULL
);
GO
-- Creating primary key on [Id] in table 'SimpleText'
ALTER TABLE [dbo].[SimpleText]
ADD CONSTRAINT [PK_SimpleText]
PRIMARY KEY CLUSTERED ([Id] ASC);
GO
基于此表,它在实体框架中创建了一个模型(使用4.3)。 插入和删除不是问题。
然而,当更新表时,当主键为'[char] [number]时,它会产生错误,即a1表示未找到列a1。 通过使用简单的跟踪工具,这是生成的SQL:
update [dbo].[SimpleText]
set [SimpleValue] = :p0
where ([Id] = :p1)
and (Id = a1)
p0 = simpleTextValueUpdateda1
p1 = a1
更新代码如下C#:
using (var model = new Entities())
{
var entString = model.SimpleText.Select(t => t);
foreach (var simpleText in entString)
{
simpleText.SimpleValue = "simpleTextValueUpdated" + simpleText.Id;
}
model.SaveChanges();
}
如果相同的密钥只是一个数字,则没有问题。 在.NET 4上使用SqlAnywhere12,EF4.3,C#
有没有人经历过同样的事? 是否有修复以确保文本在sql中正确撇号?
答案 0 :(得分:0)
确认此问题与我正在使用的sybase sql / ef提供程序的版本有关。 版本12.0.1.3726生成此问题。 从sybase,12.0.1.3742下载新的EBF,应解决此特定问题。