Blo*_*nty 1 c# subsonic asp.net-mvc subsonic3
我正在尝试使用SubSonic来确定它是否适用于生产项目.我似乎偶然发现了一个问题,即在创建新列时使用默认值(String和DateTime)更新数据库.
如果将DateTime或String的新属性添加到对象.
public class Bug
{
public int BugId { get; set; }
public string Title { get; set; }
public string Overview { get; set; }
public DateTime TrackedDate { get; set; }
public DateTime RemovedDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当运行将该类型的对象添加到数据库的代码时
var repository = new SimpleRepository(SimpleRepositoryOptions.RunMigrations);
repository.Add(new Bug()
{
Title = "A Bug",
Overview = "An Overview",
TrackedDate = DateTime.Now
});
Run Code Online (Sandbox Code Playgroud)
它创建以下sql:
UPDATE Bugs SET RemovedDate=''01/01/1900 00:00:00''
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它在字符串或DateTime的每一端添加双2单引号.
这导致以下错误:
System.Data.SqlClient.SqlException - '01'附近的语法不正确
我正在连接到SQL Server 2005
任何帮助都会被认为是除了这个问题之外我发现SubSonic是一个很棒的产品.
我在这里创建了一个错误的屏幕演示:
小智 5
这是一个错误,双引号引入了一些转速.我相当确定已经修复了> 3.0.0.3所以如果你想抓住当前的下降应该处理它.
很抱歉这个混乱 - 但是你已经发现你可以在create上设置值,这将对问题进行排序.此外,您可以执行andymeadows建议的操作,这将使该字段可以为空(这可能更准确).
无论如何 - 我们很快就会修好:).我正在努力找工作,并没有太多的周期来花费合并分支:(