添加实体时如何防止添加相关实体?

Posted

技术标签:

【中文标题】添加实体时如何防止添加相关实体?【英文标题】:How to prevent add related entity when add an entity? 【发布时间】:2012-08-18 06:09:38 【问题描述】:

我有两个实体:具有多对多关系的类别和产品。 如何防止 UI 程序员在想要添加产品时添加类别?事实上,我希望 UI 程序员只添加产品并设置预定义的类别,而不能为产品添加新的类别。

【问题讨论】:

【参考方案1】:

您必须对暴露给 UI 程序员的层中的逻辑进行编码,并确保只创建产品。这意味着您必须将 EF 完全包裹在您的层中,并且不要将其暴露给上层。如果您将 EF 上下文公开给上层,您将授予它所有权限。

【讨论】:

感谢 Ladislav Mrnka。你的意思是我必须定义业务实体?如果是,我该如何使用 Poco 实体关系福利? @mehranasghari 只需将产品 (POCO) 实体包装在 Bussinesslayer 上的产品类中,该类仅公开您希望 UI 程序员使用的属性和方法。在业务层类中,您可以修改仍由上下文跟踪的包装实体产品的属性。

以上是关于添加实体时如何防止添加相关实体?的主要内容,如果未能解决你的问题,请参考以下文章

防止实体框架在使用 Include 时添加 ORDER BY

如何防止外部实体拒绝来自测试服务器的电子邮件?

symfony2 对子实体的验证防止编辑父实体

实体框架:如何防止 dbcontext 被多个线程访问?

如何防止 TransformerFactory 上的 XML 外部实体注入

如何防止实体关系发生变化?