Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C实体框架原始SQL查询_C#_.net_Asp.net Mvc_Entity Framework 5 - Fatal编程技术网

C# C实体框架原始SQL查询

C# C实体框架原始SQL查询,c#,.net,asp.net-mvc,entity-framework-5,C#,.net,Asp.net Mvc,Entity Framework 5,为了解决一个简单的web应用程序,我在Visual Studio 2017中创建了一个项目,当我使用与我在以下教程中使用的表对应的模型时,该项目运行良好: 我只想运行一个原始sql查询,这样我就可以处理结果,操作并写回另一个表,或者只显示结果 在我的控制器中,我有: public ActionResult RunQuery001() { string query = "SELECT @@VERSION"; return View(db.Server

为了解决一个简单的web应用程序,我在Visual Studio 2017中创建了一个项目,当我使用与我在以下教程中使用的表对应的模型时,该项目运行良好:

我只想运行一个原始sql查询,这样我就可以处理结果,操作并写回另一个表,或者只显示结果

在我的控制器中,我有:

    public ActionResult RunQuery001()
    {
        string query = "SELECT @@VERSION";
        return View(db.Servers.SqlQuery(query).ToArray());
    }
我创建了一个如下所示的视图:

    @model IEnumerable<omfgshootmenow.Server>

    @{
        ViewBag.Title = "RunQuery001";
    }

    @foreach (var item in Model)
    {
        @Html.DisplayFor(model => item.ToString());
    }
代码生成,但执行时出现异常:

Message=数据读取器与指定的模型不兼容。此处,“id”类型的成员在数据读取器中没有同名的对应列

我一直认为这个视图是完全错误的,或者是因为异常引用了模型的关键列


非常感谢您的帮助。

我确信这是因为您的数据形状与服务器类型不匹配

查询db.Servers时,必须返回与服务器匹配的内容


如果要返回任何非实体类型,应改用context.Database.SqlQuery。请参见此处:

我很确定这是因为数据的形状与服务器的类型不匹配

查询db.Servers时,必须返回与服务器匹配的内容


如果要返回任何非实体类型,应改用context.Database.SqlQuery。请参见此处:

要获取字符串,应使用以下命令,请参阅编写非实体类型的SQL查询一节


要获取字符串,应使用以下命令,请参阅编写非实体类型的SQL查询一节


首先,确保您的模型是相同的:我的意思是,如果任何字段可以为null,那么它必须在您的模型中为null更新您的模型。另一个原因是,尝试ommit.ToArray,将结果保存在变量中并检查ii。可能出于测试原因,尝试使用其他方法获取日期。首先,确保您的模型是相同的:我的意思是,如果任何字段可以为空,则必须在模型中为空更新您的模型。另一个原因是,尝试ommit.ToArray,将结果保存在变量中并检查ii。可能出于测试原因,尝试使用其他方法获取日期

您可以尝试选择@VERSION作为mysqlver吗?@AnilKumar相同错误。我之前在阅读其他文章时也试过,但没有骰子。如果你的问题都是关于EF的,为什么要和mvc混为一谈呢?考虑使用控制台应用程序代码?@耒阳。我正在尝试使用MVCTCH学习如何创建Web应用程序。您的问题与MVC有什么关系吗?为什么不在标题中说mvc呢?你能试着选择@VERSION作为mysqlver吗?@AnilKumar同样的错误。我之前在阅读其他文章时也试过,但没有骰子。如果你的问题都是关于EF的,为什么要和mvc混为一谈呢?考虑使用控制台应用程序代码?@耒阳。我正在尝试使用MVCTCH学习如何创建Web应用程序。您的问题与MVC有什么关系吗?为什么不在标题中说mvc呢?谢谢,在那之后,它是如何在视图中显示的?有很多方法可以引用,我在答案中添加了一种。谢谢,在那之后,它是如何在视图中显示的?有很多方法可以引用,我在答案中添加了一种。
var query = db.Database.SqlQuery<string>("SELECT @@VERSION").FirstOrDefault(); 
ViewBag.SQLDBVersion= query; // viewbag is dynamic
@MvcHtmlString.Create(ViewBag.SQLDBVersion)