gpt4 book ai didi

c# - 如何将引用程序集用于 Controller 脚手架

转载 作者:行者123 更新时间:2023-11-30 12:42:49 30 4
gpt4 key购买 nike

我有一个类库,其中包含一些模型类和一个 DbContext 类(所有这些类都是公共(public)的)。该类库由 MVC-5 应用程序引用。

是否可以使用该引用类库中的模型类来构建该 MVC-5 应用程序中的 Controller ?

当我使用 Controllers - Add - Controller - MVC Controllers with views, using Entity Framework 然后在对话框中 Model classData context 的组合框类 不包含任何项目。当我从引用的类库中填写类的完全限定名称时,添加 按钮仍处于禁用状态。我做错了什么?

enter image description here

最佳答案

通过一些调整,您可以使用脚手架引用外部 dll(例如 Entity Framework 项目)。

为此,您需要创建一个继承您的 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; }
}
}

关于c# - 如何将引用程序集用于 Controller 脚手架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32630942/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com