2 回答
TA贡献1827条经验 获得超4个赞
由于 Entity Framework 生成的类已经包含接口的属性,因此您只需在 class 上声明接口A。
整个图片可能包括以下3个文件。
确保这些部分类的名称和命名空间匹配,并且这两个.cs文件是同一个 Visual Studio 项目的一部分。
接口X.cs
(按照惯例,在接口I前面加上IX.)
namespace App
{
public interface X {
int Id { get; set; }
int Number { get; set; }
}
}
由实体框架生成的类A.cs
(保留这个自动生成的原样,如下所示。)
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace App
{
using System;
using System.Collections.Generic;
public partial class A
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public A()
{
}
public int Id { get; set; }
public int Number { get; set; }
}
}
X例如,类中的接口声明A。A.partial.cs
namespace App
{
public partial class A : X {
}
}
TA贡献1856条经验 获得超11个赞
public interface IBaseEntity {
int Id { get; set; }
int Number { get; set; }
}
假设您有实体框架生成的 StudentEntity.cs
namespace MyProject.DAL.Entities
{
public partial class StudentEntity
{ }
}
创建新文件 StudentEntityExtended.cs 并在其中放置您的部分类
namespace MyProject.DAL.Entities
{
public partial class StudentEntity : IBaseEntity {
}
}
然后
public class SchoolContext: DbContext
{
public SchoolContext(): base()
{
}
public DbSet<Student> Students { get; set; }
}
现在,Students DbSet 继承自 BaseClass,因此具有来自其 anchestory 的属性
- 2 回答
- 0 关注
- 139 浏览
添加回答
举报