我有一个带有一些模型类和一个DbContext类的类库(所有这些类都是公共的)。这个类库由MVC-5应用程序引用。
在MVC-5应用程序中,是否可以使用引用类库中的模型类作为控制器的脚手架?
当我使用带有视图的控制器- MVC控制器时,使用实体框架,那么在对话框中,Model类和数据上下文类的组合框都不包含任何项。当我从引用类库中填写类的完全限定名时,仍然禁用Add按钮。我做错了什么?

发布于 2017-05-02 09:58:58
将引用的程序集编译为dll-file的脚手架根本无法工作。有必要添加对包含模型类的项目的引用。然后一切如愿以偿。这是一个bug还是一个特性?
发布于 2017-08-23 18:10:23
只要稍加调整,您就可以引用外部dll (例如。实体框架项目)使用脚手架。
为此,需要创建继承EF表类的类。为了工作,您需要用正确的模式和表名在类的顶部使用table属性,否则脚手架将创建一个新的表。
还要确保使用"new“关键字并重载id。您将需要使用Key属性(如果尚未在原始dll中的EF表中定义)。
最后,创建一个新的dbcontext,并确保在web.config中使用连接字符串id。
这应该允许您引用web项目中的表和上下文。
这是我的代码(非常简单),希望这会有所帮助。
namespace ConsoleAdmin.Models
{
[Table("ntf.tblNotification_ntf")]
public class Notification : tblNotification_ntf
{
[Key]
public new int notificationId { get; set; }
}
public class NotificationDbContext : DbContext
{
public NotificationDbContext(): base("name=bd_Soquij_logEntities") { }
public DbSet<Notification> Notifications { get; set; }
}
}https://stackoverflow.com/questions/32630942
复制相似问题