我已經創建了一個MVC項目。有一個默認的視圖和控制器。有一個模型已經擴展到包含兩個真實表格和一個視圖(數據庫視圖)。在排序數據後,該視圖和至少一個表格需要顯示。我只看到在線創建模型的「簡單」例子;我不確定要搜索什麼字詞。所以,我在自己的文件中的類定義了數據庫視圖訂購表格數據的ASP.NET MVC模型
using System.Data.Entity;
namespace XYZ_dbo.Models {
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Spatial;
using System.Linq;
using System.Text;
[Table("dbo.DockItemsByDept")]
public partial class DockItemsByDept
{
public int Id { get; set; }
[Required]
[StringLength(128)]
public string Name { get; set; }
public int Dept { get; set; }
public int Code { get; set; }
}
}
我有這個類引用模型定義的列:
using System.Data.Entity;
namespace XYZ.Models
{
public partial class XYZModel : DbContext
{
public XYZModel()
: base("name=XYZModel")
{
}
public virtual DbSet<DockItemsByDept> DockItemsByDept { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<DockItemsByDept>()
.Property(e => e.Id);
modelBuilder.Entity<DockItemsByDept>()
.Property(e => e.Name)
.IsUnicode(false);
modelBuilder.Entity<DockItemsByDept>()
.Property(e => e.Dept);
modelBuilder.Entity<DockItemsByDept>()
.Property(e => e.Code);
}
}
}
我可以進入index.cshtml
視圖並說
@model IEnumerable<ITG_Calendar_Reservations.Models.DockItemsByDept>
<div class="content">
@foreach (var log in Model)
{
<p>@log.Name</p>
}
</div>
但我只是得到數據庫生成的默認排序。我希望這個「查看」數據按Code
字段和Name
字段排序,但我不知道應該在哪裏應用這樣的操作或過濾器。我認爲這將是在模型中,但我沒有看到它應該去哪裏,當我搜索答案時,我沒有找到任何有用的東西。
想法?
這裏的'XYZModel'實際上不是一個模型,它是一個用於管理程序和數據庫之間模型狀態的上下文。你可能想把它叫做'XYZContext'。它可能會讓事情變得更容易理解。 – casperOne
恩,好的。我根本不是在辯論你。 Visual Studio將其稱爲「模型」,並在設置初始數據庫連接時爲其指定名稱。 –