Sqlite 没有为NVARCHAR列返回值
我正在尝试在ASP.NETMVC中使用亚音速3.0和SQLite3。经过最初的设置,我终于能够从我的单个(到目前为止)表数据库中检索数据,但是我从来没有得到过鉴定列的值。我尝试将其重命名为类似于鉴定文本的内容,尝试将其数据类型更改为VARCHAR、具有不同大小的NVARCHAR和w/o显式大小甚至文本。什么都不管用。我可以查询数据库(使用SQLite Administrator)并查看结果——既可以在网格中,也可以使用手动编写的查询。我完全不知道发生了什么事。下面是一些代码: 数据库 控制器动作 看法Sqlite 没有为NVARCHAR列返回值,sqlite,subsonic,Sqlite,Subsonic,我正在尝试在ASP.NETMVC中使用亚音速3.0和SQLite3。经过最初的设置,我终于能够从我的单个(到目前为止)表数据库中检索数据,但是我从来没有得到过鉴定列的值。我尝试将其重命名为类似于鉴定文本的内容,尝试将其数据类型更改为VARCHAR、具有不同大小的NVARCHAR和w/o显式大小甚至文本。什么都不管用。我可以查询数据库(使用SQLite Administrator)并查看结果——既可以在网格中,也可以使用手动编写的查询。我完全不知道发生了什么事。下面是一些代码: 数据库 控制器动作
所有字段都显示其正确的值,除了返回NULL的X。为什么 问题在于,您有一个与表同名的列,而我们的Linq转换器不喜欢它(我将在未来几周内尝试解决这一问题)。如果重命名此列(这是一种很好的做法),它会起作用。为什么在您的视图中它被命名为TesticialX,而在其他位置它被命名为TesticialX?亚音速会这样做,我猜当您有一个与表同名的列时会发生这种情况。这也是我尝试使用推荐文字的原因,但没有帮助,所以我回到推荐文字。谢谢。我以前尝试过更改名称,但是我没有注意到SQLite管理员中的错误,并且认为亚音速没有完成它的工作。这绝对有帮助!
CREATE TABLE [Testimonials] (
[ID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Referral] NVARCHAR(30) NOT NULL,
[Role] NVARCHAR(20) NULL,
[Company] NVARCHAR(100) NOT NULL,
[Url] VARCHAR(255) NULL,
[Testimonial] NVARCHAR(500) NOT NULL
)
public ActionResult Index()
{
// Get all testimonials.
var testimonials = Testimonial.All();
// Pick a random one.
var count = testimonials.Count();
var rnd = new Random().Next(count);
var testimonial = testimonials.Skip(rnd).Take(1).Single();
ViewData["Testimonial"] = testimonial;
return View();
}
<%= Html.Encode(Model.TestimonialX) %><br />
<%= Html.Encode(Model.Referral + ", " + Model.Role) %><br />
<a href="<%= Model.Url %>"><%= Html.Encode(Model.Company) %></a>