Ami*_*ila 8 c# asp.net-mvc ef-database-first asp.net-mvc-4 entity-framework-5
我在Database First方法中使用Entity Framework 5,我正在使用edmx文件.
我的大多数实体都有6个常见字段.像场CreatedAt,CreatedBy等等.现在,我实现一些功能只能应用于扩展IQueryable那些有共同的领域实体.但是当我实现扩展方法时,它可以被任何类型IQueryable的类型T访问,我只能定义类型T应该总是一种类型.
所以,我认为我可以为具有公共字段的实体提供基类,并将类型T定义为该基类型.但是,我似乎无法做到这一点.
关于如何解决这个问题或者实现我上面解释过的任何想法?
不要创建基类.创建一个接口,如下所示:
public interface IMyEntity
{
DateTime CreatedAt { get; set; }
string CreatedBy { get; set; }
// Other properties shared by your entities...
}
Run Code Online (Sandbox Code Playgroud)
然后,您的模型将是这样的:
[MetadataType(typeof(MyModelMetadata))]
public partial class MyModel : IMyEntity
{
[Bind()]
public class MyModelMetadata
{
[Required]
public object MyProperty { get; set; }
[Required]
public string CreatedBy { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6575 次 |
| 最近记录: |