![](/img/trans.png)
[英]Implicit conversion from data type sql_variant to varbinary(max) is not allowed. Use the CONVERT function to run this query. ASP.NET SQL DataSource
[英]How to show values from a sql_variant column with LINQ TO SQL (ASP.NET)?
我使用Linq to Sql生成类,并且具有“ DataValue
”列,它是sql_variant
。
模型
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DataValue", DbType="Variant", UpdateCheck=UpdateCheck.Never)]
public object DataValue
{
get
{
return this._DataValue;
}
控制器:
public ActionResult getDataForAPlc()
{
int plc = 1;
var dataContext = new PLCDataContext();
var datas = from tag in dataContext.PLC_Data_5m
where tag.TagID == plc && tag.TimeStampLocal >= new DateTime(2016, 7, 20) && tag.TimeStampLocal < new DateTime(2016,7,21)
orderby tag.TimeStampLocal descending
select tag;
return View(datas);
}
我使用了View GENERATOR
(Razor)来从我的QUERY中生成我的值列表。
问题:我看到除Datavalue之外的所有值。 什么都没有,并且当我生成视图时,默认情况下,不会出现DataValue。 我在View.cshtml上添加了它
@model IEnumerable<DataReports.Models.PLC_Data_5m>
@{
ViewBag.Title = "getDataForAPlc";
}
<h2>getDataForAPlc</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.TimeStampLocal)
</th>
<th>
@Html.DisplayNameFor(model => model.DataTimeStamp)
</th>
<th>
@Html.DisplayNameFor(model => model.DataQuality)
</th>
<th>
@Html.DisplayNameFor(model => model.DataValue)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.TimeStampLocal)
</td>
<td>
@Html.DisplayFor(modelItem => item.DataTimeStamp)
</td>
<td>
@Html.DisplayFor(modelItem => item.DataQuality)
</td>
<td>
@Html.DisplayFor(modelItem => item.DataValue)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
而且没有价值。 有人能帮我吗? 我知道这是由于sql_variant
而导致的对象属性,但是,如何从中获取值呢?
如本文所述,您必须实现一种变通方法以读取sql_variant类型: http : //www.codeproject.com/Articles/137509/Reading-sql-variant-in-Entity-Framework
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.