【发布时间】:2018-04-02 22:22:44
【问题描述】:
db.Database.ExecuteSqlCommand("INSERT INTO [dbo].[CalendarEvent] (Length, Name) VALUES ('" + item.Length + "," + item.Name.Replace("'", "''") + "')");
我试图在 C# Entity Framework 中的数据库表中添加一行,但执行语句在运行前一直超时。 (好吧,我相信超时,因为它只是停止运行。
我已经分别尝试了两种插入(例如名称和长度)并且两者都可以工作,但是当它们一起失败时。我也尝试插入一个,然后尝试更新该行,但以同样的方式失败。
【问题讨论】:
-
那行代码前面,放
var bob = "INSERT INTO [dbo].[CalendarEvent] (Length, Name) VALUES ('" + item.Length + "," + item.Name.Replace("'", "''") + "')";bob的值是多少? -
我觉得您的方法 -sql insert 语句没有使用 ORM(实体框架)的优势。我建议对实体框架进行一些研究。
-
Bob 的值为 "INSERT INTO [dbo].[CalendarEvent] (Length, Name) VALUES ('3,Josh Test')" @mjiwills
-
@JohsFletcher 您列出了两列(
Length和Name),但只插入了其中一列(逗号在 inside 引号内)。阅读我提供的链接。或者阅读如何使用 EF 插入对象。 stackoverflow.com/questions/8835434/… 之类的东西。
标签: c# sql asp.net entity-framework