【发布时间】:2018-12-19 22:00:32
【问题描述】:
你好我有这个界面:
public interface X {
int Id { get; set; }
int Number { get; set; }
}
我想要一个由实体框架生成的具有此属性的实体来实现此接口。 我该怎么做? 我试图做一个部分类,但我得到一个编译错误,迫使我在接口中实现属性,如下所示。
public partial class A : X {
int Id { get; set; }
int Number { get; set; }
}
这是实体框架生成的类:
//------------------------------------------------------------------------------
// <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; }
}
}
我有这些当前文件:
1.
namespace ConfApp.model
{
using System;
using System.Collections.Generic;
public partial class INSTITUICAO
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public INSTITUICAO()
{
this.UTILIZADOR = new HashSet<UTILIZADOR>();
}
public int Id { get; set; }
public string Nome { get; set; }
public string Morada { get; set; }
public string Pais { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<UTILIZADOR> UTILIZADOR { get; set; }
}
}
2.
namespace ConfApp.model {
public interface IInstituicao {
int Id { get; set; }
String Nome { get; set; }
String Morada { get; set; }
String Pais { get; set; }
}
}
3.
namespace ConfApp.model {
public partial class INSTITUICAO: IInstituicao {
}
}
【问题讨论】:
-
@Simonare 你是说我应该在实体框架生成的文件中这样做?
-
@pfx 编译器错误说我应该实现属性
-
我不认为这真的是你想要做的......如果它首先是数据库,那么你希望如何在运行时添加属性/列?我希望更多的课程是通用方法?
<TEntity> GetId(this Entity entity){}也许? -
@pfx 帖子是用那个类编辑的
-
你确定你在同一个命名空间中有两个部分类吗?你能显示每个包含命名空间的完整声明吗?我假设他们也在同一个程序集中,对吧?
标签: c# entity-framework