LINQ to SQL更新(C#)

Mar*_*rco 4 c# linq linq-to-sql

这是我桌子的脚本:

CREATE TABLE ClientTypes
(
    type_id int PRIMARY KEY IDENTITY,
    type_name varchar(250) not null,
    type_applications_list text,
    dtIntro datetime DEFAULT(getdate())
)
Run Code Online (Sandbox Code Playgroud)

在ASP.net我试图这样做:

protected void btnActualizar_Click(object sender, EventArgs e)
    {
        var aplicacao = (from apl in dc.ClientTypes
                         where apl.type_id == tipoCliente
                         select apl).Single();

        aplicacao.type_name = txtAplicações.Text.ToString();

        dc.SubmitChanges();
    }
Run Code Online (Sandbox Code Playgroud)

然而,当它运行时,它会崩溃并说:

"数据类型text和varchar在等于运算符中是不兼容的."

我真的不想将SQL数据类型更改为varchar,我希望它保留在文本中.我做了一些测试,使用其他数据类型值,比如int ......一切都很顺利.

我真的不明白这一点,我使用一个返回String的控件.

Thx提前

谁能帮我?Thx提前.

sco*_*ttm 6

MSDN声明您不应使用文本数据类型,因为它将在SQL Server的未来版本中删除.无法比较或排序文本数据类型,因此如果要在LINQ查询中进行比较,则必须更改类型.

  • varchar(MAX),与TEXT的大小相同,为2 ^ 31-1个字节 (2认同)