首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用引用组件进行控制器脚手架

如何使用引用组件进行控制器脚手架
EN

Stack Overflow用户
提问于 2015-09-17 13:00:12
回答 2查看 2K关注 0票数 5

我有一个带有一些模型类和一个DbContext类的类库(所有这些类都是公共的)。这个类库由MVC-5应用程序引用。

在MVC-5应用程序中,是否可以使用引用类库中的模型类作为控制器的脚手架?

当我使用带有视图的控制器- MVC控制器时,使用实体框架,那么在对话框中,Model类和数据上下文类的组合框都不包含任何项。当我从引用类库中填写类的完全限定名时,仍然禁用Add按钮。我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-02 09:58:58

将引用的程序集编译为dll-file的脚手架根本无法工作。有必要添加对包含模型类的项目的引用。然后一切如愿以偿。这是一个bug还是一个特性?

票数 0
EN

Stack Overflow用户

发布于 2017-08-23 18:10:23

只要稍加调整,您就可以引用外部dll (例如。实体框架项目)使用脚手架。

为此,需要创建继承EF表类的类。为了工作,您需要用正确的模式和表名在类的顶部使用table属性,否则脚手架将创建一个新的表。

还要确保使用"new“关键字并重载id。您将需要使用Key属性(如果尚未在原始dll中的EF表中定义)。

最后,创建一个新的dbcontext,并确保在web.config中使用连接字符串id。

这应该允许您引用web项目中的表和上下文。

这是我的代码(非常简单),希望这会有所帮助。

代码语言:javascript
复制
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; }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32630942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档