C# 私有财产地图
我有一个带有Entity Framework 7的Asp.Net项目,还有一个带有附件列表的电子邮件类 我不想让任何人把一个项目添加到我的列表中,我有他们C# 私有财产地图,c#,entity-framework-core,asp.net5,C#,Entity Framework Core,Asp.net5,我有一个带有Entity Framework 7的Asp.Net项目,还有一个带有附件列表的电子邮件类 我不想让任何人把一个项目添加到我的列表中,我有他们 私有列表资源{get;set;} 公共IEnumerable附件{get;set;} 现在,我想将与属性资源的关系映射到数据库,而不是映射到附件 实体框架7出现了一个例外 如何做到这一点。将此模型分为两种不同的模型,一种是映射到数据库的内部模型,另一种是可供用户使用的模型。 这也是在层之间传递数据的正确方式 希望有帮助 将此模型分为两种不
私有列表资源{get;set;}
公共IEnumerable附件{get;set;}
现在,我想将与属性资源的关系映射到数据库,而不是映射到附件
实体框架7出现了一个例外
如何做到这一点。将此模型分为两种不同的模型,一种是映射到数据库的内部模型,另一种是可供用户使用的模型。 这也是在层之间传递数据的正确方式
希望有帮助 将此模型分为两种不同的模型,一种是映射到数据库的内部模型,另一种是可供用户使用的模型。 这也是在层之间传递数据的正确方式 希望有帮助 我同意Itay 也许这个代码示例可以帮助您 创建映射到db表的实体
public class EmailState
{
public int Id { get; private set; }
public List<AttachmentState> Resources { get; set; }
public static Email ToEmail(EmailState state)
{
return new Email(state);
}
}
public class AttachmentState
{
public static Attachment ToAttachment(AttachmentState state)
{
return new Attachment(state);
}
public Attachment ToAttachment()
{
return new Attachment(this);
}
}
像这样使用它
using (var context = new EmailDbContext())
{
IEmailRepository repository = new EmailRepository(context);
var email = new Email();
repository.Add(email);
context.SaveChanges();
var emailFoundById = repository.GetById(email.Id);
}
我同意伊泰的观点
也许这个代码示例可以帮助您
创建映射到db表的实体
public class EmailState
{
public int Id { get; private set; }
public List<AttachmentState> Resources { get; set; }
public static Email ToEmail(EmailState state)
{
return new Email(state);
}
}
public class AttachmentState
{
public static Attachment ToAttachment(AttachmentState state)
{
return new Attachment(state);
}
public Attachment ToAttachment()
{
return new Attachment(this);
}
}
像这样使用它
using (var context = new EmailDbContext())
{
IEmailRepository repository = new EmailRepository(context);
var email = new Email();
repository.Add(email);
context.SaveChanges();
var emailFoundById = repository.GetById(email.Id);
}
您能告诉我们EF抛出了什么异常吗?另外,为什么要将EF映射到
资源
属性而不是附件
属性?您能告诉我们EF抛出了什么异常吗?还有,为什么要将EF映射到资源
属性而不是附件
属性?
using (var context = new EmailDbContext())
{
IEmailRepository repository = new EmailRepository(context);
var email = new Email();
repository.Add(email);
context.SaveChanges();
var emailFoundById = repository.GetById(email.Id);
}