gpt4 book ai didi

entity-framework - Entity Framework 代码优先和 View 映射

转载 作者:行者123 更新时间:2023-12-02 03:45:38 24 4
gpt4 key购买 nike

我有一个使用代码优先的应用程序;在搜索部分,我必须从 3 个表及其相关表中收集信息,所以我做了一个 View ;并且由于没有代码首先创建 View 的语法(我认为是这样;如果我错了请告诉我)我使用了纯 SQL 脚本;在创建模型以防止 EF 创建与表 (VIEW_SEARCH) 同名的表时,我做了:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Ignore<View_Search>();
}

应用程序可以正常工作的任何方式,直到您尝试从 View 中获取数据然后 BANG...

The model backing the 'SearchContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)

最佳答案

此错误只是说明模型文件中的内容与数据库中的内容不一致。要使其保持一致,请转到程序包管理器控制台并键入 Enable-Migrations,然后键入 Add-Migration yourMigrationName 和 Update-Database。错误应该消失。

如果您想合并来自 3 个表的数据,您只需创建一个 ViewModel。

假设您有 3 个模型:Book、Author、BookStore,并且您希望在一个 View 中显示所有信息。你创建 ViewModel

public class MyViewModel 
{
public Book myBook {get; set;}
public Author myAuthor {get; set;}
public BookStore myBookStore {get; set;}
}

然后在一体化 View 的顶部添加

@model myNamespace.MyViewModel

并访问像

这样的项目
Model.Book.title
Model.Author.name
Model.BookStore.isClosed

关于entity-framework - Entity Framework 代码优先和 View 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17383459/

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