如何将MVC模型类与现有数据库表和架构匹配

塞缪尔·佩雷斯(Samuel Perez)

我正在使用Visual Studio 2012,MVC 4和Razor(CSHTML)。我在测试数据库中创建了Person.Person表。我想让我的模型PersonModels.cs使用此表,所以我创建了以下2个类。

public class Person
{
    [Key]
    public int BusinessEntityID { get; set; }
    public string PersonType { get; set; }
    public string Title { get; set; }
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    public string Suffix { get; set; }
    public int EmailPromotion { get; set; }
    [XmlAttribute(DataType = "string")]
    public string AdditionalContactInfo { get; set; }
    [XmlAttribute(DataType = "string")]
    public string Demographics { get; set; }
    public string rowguid { get; set; }
    public DateTime ModifiedDate { get; set; }
}

public class PersonDbContext : DbContext
{
    public DbSet<Person> person { get; set; }
}

我以为它会选择Person.Person表,因为类名是Person,即使我没有包括模式。但是,在运行应用程序并执行插入操作时,我检查了Person.Person表,但该行不存在。它创建了dbo.People表,并在其中插入了行!我仔细检查了一下,因为我以为自己可能会喝醉,但是我没有在任何地方写人!

我阅读了有关反向poco的文章,但我想了解它的工作原理而不是使其工作。

编辑:它起作用了!请找到我使用的附加代码:

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;

namespace client_site.Models
{
    [Table("Person", Schema = "Person")]
    public class TestModel
    {
        [Key]
        public int ID { get; set; }
    }

    public class DefaultConnectionX : DbContext
    {
        public DbSet<TestModel> test { get; set; }
    }
}
雷蒙德·库珀斯

dbo是默认的数据库架构。如果要在人员模式中创建表,则必须添加一个属性

[Table(“ Person”,Schema =“ Person”)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Hibernate用于现有数据库

如何将表名称从数据库匹配到Visual Studio中的模型类

如何将ASP.NET MVC5身份验证添加到现有数据库

如何在现有数据库中创建ASP.Net Identity表?

使用数据库优先方法EF将新表添加到现有数据库

将数据库架构与现有的平滑表进行比较

如何将EF核心安装到现有数据库中?

如何将现有数据库的“ innodb_file_per_table”参数从“ OFF”更改为“ 1”?

如何从Laravel中的现有数据库创建迁移和模型

如何在不使用模型的情况下将Django集成到现有数据库中

如何将flask-RBAC模型添加到现有SQLAlchemy数据库

在Django中为现有数据库表创建模型

NetCore 3.1将IdentityServer4与现有数据库和Users表一起使用

在现有数据库上创建表

如何将数据库中现有数据的datetime字段转换为UTC Datetime?

将现有数据库用于SSRS

从现有数据库创建类

EF 6.0代码优先:如何将现有数据库与现有域类同步

实体框架7将现有数据库表转换为asp.net mvc中的代码第一类6

数据类型不匹配,将现有数据库映射到EF

如何将数据添加到我的Android应用程序中的现有数据库?

将模型对象链接到 Vapor 中的现有数据库表

将新表推送到 Heroku,而无需重置现有数据库

当数据库属性与 excel ASp.NET / core 中的第一列不匹配时,将数据从 Excel 导入现有数据表

如何使用nodejs在数据库中插入和更新现有数据?

Python 和 SQLite3 - 将数据导入现有数据库

如何在 Foreach 和 Condition 中使用模型构建器适用于所有数据库表

如何在具有共同现有数据库的不同应用程序中访问另一个应用程序的模型类?

如何将新条目与数据库中的现有数据结合起来?