c# - LINQ to SQL 更新 (C#)

标签 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())
)

在 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();
    }

但是,当它运行时,它会崩溃并提示:

“数据类型 text 和 varchar 在等于运算符中不兼容。”

我真的不想将 SQL 数据类型更改为 varchar,我希望它保留在文本中。 我用其他数据类型值(例如 int...)进行了一些测试,一切顺利。

我真的不明白这一点,我使用的是返回字符串的控件。

提前致谢

谁能帮帮我? 提前致谢。

最佳答案

MSDN states that you should not use the text数据类型,因为它将在 SQL Server 的 future 版本中删除。文本数据类型无法进行比较或排序,因此如果您想在 LINQ 查询中进行比较,则必须更改类型。

关于c# - LINQ to SQL 更新 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1511032/

相关文章:

c# - LINQ 聚合与子聚合

c# - 如何从 Linq 读取大型 XML RAW 到 SQL?

linq-to-sql - 使用LINQ批量更新到SQL

c# - 如何从头开始在 Roslyn 中创建语法节点?

c# - 在运行时创建 XML

c# - 如何自定义ASP.Net Login控件的外观?

c# - 将伪代码转换为C#代码

c# - 使用 IEqualityComparer 的联合列表

c# - 破译连续日期范围的逻辑

c# - 在 Linq to Sql 查询中获取默认值类型 (DateTime),结果为空