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

时间:2016-07-08 18:31:58

标签: c# entity-framework

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

我一直在网上查看如何为实体框架配置该表,但我无法找到适合我的解决方案,我甚至尝试过覆盖工作但通常在那里&# 39;一个围绕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");
    }
}

1 个答案:

答案 0 :(得分:1)

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

在数据库更改时更新.edmx文件:

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

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

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

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

4)点击Add标签。

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

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

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

希望它对你有所帮助。

快乐编码:)