[英]Bind dynamic fields in `CSHTML` using `Entity Framework`
I have 2 fields in Table
. 我在
Table
有2个字段。 And as per Stored Procedure's
query, it gives 4 fields. 根据
Stored Procedure's
查询,它给出4个字段。 In that, 2 fields are from Table
and other 2 dynamic fields which I can't mapped in Entity Framework
directly. 其中,有2个字段来自
Table
和其他2个动态字段,我无法直接在Entity Framework
映射。 So how can I bind that 2 fields in CSHTML
. 因此,如何在
CSHTML
绑定这两个字段。
Following is the code I have tried. 以下是我尝试过的代码。
Stored Procedure's Query 存储过程的查询
SELECT
ROW_NUMBER() Over (Order By Table.Id) SrNo
,Id
,Name
,'10000' Salary
FROM Table
Controller 控制者
MyModel model = new MyModel();
SqlParameter param1 = new SqlParameter("@Parameter",1);
model.lstdata = app.Database.SqlQuery<EntityName>("exec ProcedureName @Parameter", param1).ToList();
return View(model);
Model Class 型号类别
public class Model
{
public int Id { get; set; }
public string Name { get; set; }
public List<EntityName> lstData { get; set; }
public Model()
{
lstData = new List<EntityName>();
}
}
CSHTML 网页HTML
@foreach (var item in Model.lstdata)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.SrNo)
</td>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Salary)
</td>
</tr>
}
EntityName 实体名称
namespace Data
{
[Table("Table")]
public class EntityName
{
[Key]
public long Id { get; set; }
public string name { get; set; }
[NotMapped]
public int SrNo { get; set; }
}
}
Please suggest me a best option to come out from this query. 请建议我从此查询中找出一个最佳选择。
Try below code. 尝试下面的代码。 Try adding
[NotMapped]
attribute on the property you don't want to map. 尝试在您不想映射的属性上添加
[NotMapped]
属性。
public class EntityName
{
// ...
[NotMapped]
public int SrNo { get; set; }
[NotMapped]
public int Salary{ get; set; }
// ...
}
要绑定视图中的值,我建议创建单独的ViewModelEntity,并且对于数据库操作,请使用Pure POCO类,该类具有与表中相同的字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.