2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
由于 Entity Framework 生成的類已經(jīng)包含接口的屬性,因此您只需在 class 上聲明接口A。
整個(gè)圖片可能包括以下3個(gè)文件。
確保這些部分類的名稱和命名空間匹配,并且這兩個(gè).cs文件是同一個(gè) Visual Studio 項(xiàng)目的一部分。
接口X.cs
(按照慣例,在接口I前面加上IX.)
namespace App
{
public interface X {
int Id { get; set; }
int Number { get; set; }
}
}
由實(shí)體框架生成的類A.cs
(保留這個(gè)自動(dòng)生成的原樣,如下所示。)
//------------------------------------------------------------------------------
// <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貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
public interface IBaseEntity {
int Id { get; set; }
int Number { get; set; }
}
假設(shè)您有實(shí)體框架生成的 StudentEntity.cs
namespace MyProject.DAL.Entities
{
public partial class StudentEntity
{ }
}
創(chuàng)建新文件 StudentEntityExtended.cs 并在其中放置您的部分類
namespace MyProject.DAL.Entities
{
public partial class StudentEntity : IBaseEntity {
}
}
然后
public class SchoolContext: DbContext
{
public SchoolContext(): base()
{
}
public DbSet<Student> Students { get; set; }
}
現(xiàn)在,Students DbSet 繼承自 BaseClass,因此具有來自其 anchestory 的屬性
- 2 回答
- 0 關(guān)注
- 158 瀏覽
添加回答
舉報(bào)