在 .NET Core 中将新表配置为 EntityFramework(Core)

本文关键字:Core EntityFramework 配置 新表 NET | 更新日期: 2023-09-27 17:56:08

我在localDB中添加了一个名为ChatLog的新表,用于存储聊天消息,并为该表创建了3个存储过程。

我一直在网上寻找如何为实体框架配置该表,但我找不到适合我的解决方案,我什至尝试了替代解决方法,但通常围绕 DbContext 存在错误,该错误不是从服务中提取的。

我是新手,真的不知道我应该做什么,正如我所说,教程并没有真正的帮助,因为我缺乏知识。

有人可以帮我一把吗? 表格如下所示:

Column      | type
----------------------------
SenderId    | nvarchar(256)
RecipientId | nvarchar(256)
Message     | ntext
Time        | date

我试过写这个,但它不起作用:

[Table("ChatLog")]
public class ChatMessage
{
    [Required]
    [Column("SenderId")]
    public string SenderId { get; set; }
    [Required]
    [Column("RecipientId")]
    public string RecipientId { get; set; }
    [Required]
    [Column("Message")]
    public string Message { get; set; }
    [Required]
    [Column("Time")]
    public DateTime Time { get; set; }
}
class ChatLogContext : DbContext
{
    public DbSet<ChatMessage> ChatMessages { get; set; }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<ChatMessage>()
            .ToTable("ChatLog");
    }
}

在 .NET Core 中将新表配置为 EntityFramework(Core)

您必须更新.edmx文件才能应用数据库更改,请按照以下步骤更新您的表格:

要在数据库更改时更新.edmx文件,请执行以下操作:

1)只需单击即可打开.edmx文件。

2)打开.edmx文件后,只需右键单击 选择Update Model from Database .

更新模型向导将启动。如果未指定数据库连接,则会显示"选择数据库连接"对话框。否则,将显示"选择数据库对象"对话框。

3) 如果出现"选择数据库连接"对话框,请指定数据库连接。否则,请转到下一步。

4) 单击Add选项卡。

5) 展开 TablesViewsStored Procedures 节点,并选中要添加到.edmx文件中的对象。

6) 单击"完成"以使用数据库更改更新.edmx文件。

应用此表后,您将在.edmx文件中获得所需的表。

希望对您有所帮助。

快乐编码:)