2
基础上(使用4.3),此表被创建在实体框架的模式,我有简单的表在Sybase更新实体Anywhere作为供应商
-- 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
。 插入和删除不是问题。
但是,当更新表时,当主键是'[char] [数字]'时,它会生成一个错误,即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上使用SqlAnywhere12,EF4.3,C#4
有没有人遇到过相同的问题? 是否有修复确保文本在sql中正确撇号?
看起来像sybase的ebf 12.01.3726有一个在sql中生成额外和部分的bug。 – talisker