Rep*_*rch 5 c# asp.net entity-framework dynamic-data
我正在尝试在我的动态数据实体站点中显示计算字段。我已经从现有数据库生成了我的 EDMX 文件,并使用部分类在单独的文件中添加了自定义。我希望计算的字段显示在显示和列表屏幕上。
我在网上看到了大量的例子,据说人们可以使用它;然而,他们中的大多数都专注于代码优先方法而不是数据库优先。我没有 Code-First 选项,因为数据库已经完成。
我尝试了各种数据注释,包括:
[ScaffoldColumn(true)]
[NotMapped]
[ReadOnly]
[Display(AutoGenerateField=true)]
Run Code Online (Sandbox Code Playgroud)
我还尝试按照以下格式关注 MetadataType:
[MetadataType(typeof(ProductMetadata))]
public partial class Product
{
[ScaffoldColumn(true)]
[NotMapped]
public decimal CostPerUnit
{
get
{
return TotalCost / (decimal)TotalUnits;
}
}
}
public class ProductMetadata
{
[ReadOnly(true)]
[Display(Name = "[Cost Per Page]", AutoGenerateField = true, AutoGenerateFilter = false)]
[UIHint("Number")]
public object CostPerUnit { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
上面的代码对我来说编译得很好。显示和列表形成了 Product 表中的两个显示列,我的其他注释(未列出)显示得很好。没有显示任何计算字段。没有错误消息。
我做错了什么,还是以错误的方式解决这个问题?EntityFramework 5.0 和动态数据无法实现我的目标吗?如果是后者,EF 6.0 有我需要的吗?
编辑 2014-07-11:
我已经切换到实体框架版本 6 并尝试了代码优先的方法。我仍然无法在代码隐藏中创建一个会显示在动态数据站点中的计算字段。
有什么方法可以在动态数据网站中包含实体对象的代码隐藏属性?我 100% 可以重写和覆盖框架中的其他类来实现这个目标(事实上,我已经尝试过,但收效甚微)。
归档时间: |
|
查看次数: |
530 次 |
最近记录: |