我刚刚遇到了将ASP.Net MVC应用程序从3.5升级到4.0的问题。以下代码在3.5中运行正常,但在4.0中运行失败时出现以下错误:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Estam.Web.Models.Account.SupplierBuyerViewModel>>" %>
<ul><%
foreach (var buyer in Model)
{
%><li>
<%if (buyer.CanFeedback)
{ %>
<a href="#" class="rateButton rateBuyer" name="<%=buyer.BuyerName%>" id="id_<%=buyer.BuyerId %>">
Rate</a>
<%} %>
<%=buyer.BuyerName%>
</li>
<%
}
%>
</ul>
错误:
无法创建“Estam.Models.BuyerModel”类型的常量值。在此上下文中仅支持原始类型(例如Int32,String和Guid')。
非常感谢任何帮助。
PS。这是模型代码
using System;
namespace Estam.Web.Models.Account
{
public class SupplierBuyerViewModel
{
public Guid BuyerId { get; set; }
public string BuyerName { get; set; }
public bool CanFeedback { get; set; }
public string PrimaryContactEmail { get; set; }
public double Variance { get; set; }
}
}
答案 0 :(得分:0)
我认为这是一个实体框架错误,因此您需要返回数据库模型或数据访问代码。
您是否尝试在Linq-to-Entities查询中强制转换枚举?如果是,请尝试将其强制转换为查询,如果可以的话。