【问题标题】:Alternative to Dynamic Data in Asp.Net MvcAsp.Net Mvc 中动态数据的替代方案
【发布时间】:2013-11-11 15:57:45
【问题描述】:

几年前,Microsoft 将动态数据作为新一代脚手架引擎推出,以最快的方式管理数据,而无需编写任何代码。

几年后没有任何消息并且不支持 Entity Framework 6.x 动态数据是 关闭。 是的,他们制作了 MvcScaffolding,它很容易用作一个很好的示例,但它不是动态的,它让您每次更改数据库时都会更新代码(也许我没有一些技能,这很容易或可以是自动的)。 那么有没有人发现一些新的东西来管理 EF 模型?也许这是用 JavaScript 编写的(带有微风和 OData 看起来很有趣)? 所以我很高兴听到有什么有趣的事情可以放弃旧的动态数据。

【问题讨论】:

    标签: asp.net entity-framework breeze dynamic-data scaffolding


    【解决方案1】:

    【讨论】:

    • 是的,感谢更新正确答案。我忘了自己做
    • 在 .NET MVC5 中实现这个的任何资源?
    【解决方案2】:

    Visual Studio LightSwitch 可能是一个选项,但我不知道几年后它是否还会出现。

    有一天,有人会想出一个 Web 解决方案,该解决方案与 MS-Access 一样适用于简单数据。

    【讨论】:

      【解决方案3】:

      我正在使用 CamoteQ 脚手架工具。

      https://camoteq.codeplex.com/

      【讨论】:

      • 谢谢很有趣
      【解决方案4】:

      你想走多远?在您的解决方案中使用 T4 模板并重新运行这些模板将重新构建您的模板,这实际上使它们具有动态性。

      【讨论】:

      • 好吧,事实上,我需要在每次模型更改时更新脚手架项目,但与动态数据相比,这完全是一个可扩展性更好的盈利原因。我会玩更新,谢谢。
      • 好的,Asp.Net Mvc Scaffolding 很好,但是即使这篇文章asp.net/visual-studio/overview/2013/aspnet-scaffolding-overview 也没有显示如何重新运行 T4 转换。你能帮忙吗?
      【解决方案5】:

      Microsoft.AspNet.DynamicData.EFProvider 之外,您可以使用 AJAX 和 ASP.NET MVC,而无需下载我认为的 EntityFramework 以外的单独 NuGet 包:

      首先在数据库中创建一个员工表,其中包含 EmployeeId、EmployeeName、Email、Phone 和 Experience。

      然后在 Visual Studio 中创建一个 ASP.NET Web 应用程序,选择 MVC。现在将其添加到您的 HomeController:

      public class HomeController : Controller
      {
          MyEntities db = new MyEntities ();
          public ActionResult Index()
          {
              return View(db.EmployeeInfos.ToList());
          }
      
          public ActionResult EmployeeInfo(int id)
          {
              List<EmployeeInfo> EmpInfo = db.EmployeeInfos.Where(x => x.EmployeeId == id).ToList();
              return View(EmpInfo);
          }
      }
      

      接下来在您的 HomeController 视图中打开 Index.cshml,并输入以下代码:

      @model IEnumerable<DynamicallyLoadingContant.Models.EmployeeInfo>
                 <br /><br />
      <div class="container">
          <h3 style="text-align:center">-----Employee List-----</h3><br />
          <table class="table table-bordered">
              <tr>
                  <th style="width:20%">ID</th>
                  <th style="width:80%">Name</th>
              </tr>
             @foreach (var item in Model)
             {
                 <tr>
                     <td>@item.EmployeeId</td>
                     <td><a href="#" data-toggle="popover" data-trigger="hover" id="@item.EmployeeId">@item.EmployeeName</a></td>
                 </tr>
             }
          </table>
      </div>
      <script src="~/Scripts/jquery-1.10.2.min.js"></script>
      <script>
          $(document).ready(function () {
              $('[data-toggle="popover"]').popover({
                  title: setData,
                  html: true,
                  placement:'right'
      
              });
              function setData(id) {
                  var set_data = '';
                  var element = $(this);
                  var id = element.attr("id");
                  $.ajax({
                      url: "/Home/EmployeeInfo?id" + id,
                      method: "post",
                      async: false,
                      data: { id: id },
                      success: function (data) {
                          set_data = data;
                      }
      
                  });
                  return set_data;
              }
          });
      </script>
      

      接下来添加另一个 EmployeeInfo.cshtml 视图:

      @model IEnumerable<DynamicallyLoadingContant.Models.EmployeeInfo>
      @{
          ViewBag.Title = "EmployeeInfo";
      }
      <div class="container">
          <h4 style=" text-align:center;border-bottom:1px solid #808080">EmployeeInfo</h4>
          @foreach (var item in Model)
          {
              <p><label>Name : </label> @item.EmployeeName</p>
              <p><label>Email : </label> @item.Email</p>
              <p><label>Phone : </label> @item.Phone</p>
              <p><label>Experience : </label> @item.Experience</p>
          }
      </div>
      

      更多详情请见http://abctutorial.com/Post/29/dynamically-loading-content-with-jquery-ajax-%7C-aspnet-mvc

      【讨论】:

        猜你喜欢
        • 2011-01-31
        • 1970-01-01
        • 1970-01-01
        • 2011-08-17
        • 2011-06-05
        • 2010-11-19
        • 1970-01-01
        • 1970-01-01
        • 2017-06-28
        相关资源
        最近更新 更多