【问题标题】:Convert EntityFramework to Raw SQL Queries in MVC在 MVC 中将 EntityFramework 转换为原始 SQL 查询
【发布时间】:2018-10-23 17:18:30
【问题描述】:

我正在尝试在我的 .net 中制作一个粗略的日历,我的问题是,如何将以下实体框架代码制作为 SQL 查询?

[HttpPost]

public JsonResult SaveEvent(Event e)

{

var status = false;
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
    if (e.EventID > 0)
    {
        //Update the event
        var v = dc.Events.Where(a => a.EventID == e.EventID).FirstOrDefault();
        if (v != null)
        {
            v.Subject = e.Subject;
            v.Start = e.Start;
            v.End = e.End;
            v.Description = e.Description;
            v.IsFullDay = e.IsFullDay;
            v.ThemeColor = e.ThemeColor;
        }
    }
    else
    {
        dc.Events.Add(e);
    }
    dc.SaveChanges();
    status = true;
}

return new JsonResult { Data = new { status = status } };

}

http://www.dotnetawesome.com/2017/07/curd-operation-on-fullcalendar-in-aspnet-mvc.html

谢谢大家

【问题讨论】:

标签: sql visual-studio entity-framework model-view-controller fullcalendar


【解决方案1】:

您可以使用dc.Database.ExecuteSqlCommand() 命令在实体框架中运行原始查询,如下所示:

var status = false;
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
    if (e.EventID > 0)
    {
        dc.Database.ExecuteSqlCommand(&@"
        UPDATE Events 
        SET Subject = {e.Subject},
        Start = {e.Start},
        End = {End},
        Description = {Description},
        IsFullDay = {IsFullDay},
        ThemeColor = {ThemeColor},
        WHERE EventID = {e.EventID}

        IF @@ROWCOUNT = 0
        INSERT INTO Events (EventID, Subject, Start, End, Description, IsFullDay, ThemeColor)
        VALUES ({e.EventID}, {e.Subject}, ...)
        ");

        status = true;
    }

    return new JsonResult { Data = new { status = status } 
};

【讨论】:

  • 嗨哈桑,感谢您的回复。我正在使用 DBUTL.CS,有没有办法在不涉及任何 EntityFramework 的情况下对其“纯”sql 查询进行编码?
  • 嗨,欢迎您,我不知道 DBUTL.CS 是什么,但 ADO.Net 是连接数据库并在 c# 中运行原始查询的旧方法。
猜你喜欢
  • 2015-01-31
  • 1970-01-01
  • 2019-02-03
  • 2019-06-11
  • 2019-05-31
  • 2022-08-18
  • 1970-01-01
  • 2017-01-05
  • 2018-09-12
相关资源
最近更新 更多