首页 app开发 正文

根据数据库生成model(根据数据库生成c#代码)

app开发 26
本篇文章给大家谈谈根据数据库生成model,以及根据数据库生成c#代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 如何根据数据库中的表自动生成实体类 最好的做法是每张表对应一个实体类bean,如果一张表关联其他表,把这张表对应的实体类加上就可以了。如果使用了Hibernate,就可以使用配置文件进行映射。A. 实体类就是属性类,通常定义在model层里面。B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段,这样做对数据库操作起来方便。

本篇文章给大家谈谈根据数据库生成model,以及根据数据库生成c#代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

如何根据数据库中的表自动生成实体类

最好的做法是每张表对应一个实体类bean,如果一张表关联其他表,把这张表对应的实体类加上就可以了。如果使用了Hibernate,就可以使用配置文件进行映射。

A. 实体类就是属性类,通常定义在model层里面。

B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段,这样做对数据库操作起来方便。

这样做的好处:

1.对对象实体的封装,体现OO思想。

2.属性可以对字段定义和状态进行判断和过滤

3.把相关信息用一个实体类封装后,我们在程序中可以把实体类作为参数传递,更加方便。

C. 说白了就是为了让程序员在对数据库操作的时候不用写SQL语句

D. 就是一个数据库表生成一个类

powerdesigner怎么通过数据库生成物理模型

power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。

如何从数据库生成 EF Code First model

默认情况下,数据库是创建在localhostSQLEXPRESS服务器上,并且默认的数据库名为命名空间+context类名,例如我们前面的BreakAway.BreakAwayContext。

有几种方法可以改变这种默认约定。

利用配置文件

在配置文件中新加一个连接字符串

connectionStrings

add name="BreakAwayContext" providerName="System.Data.SqlClient" connectionString="Server=.SQLEXPRESS;Database=BreakAwayConfigFile;Trusted_Connection=true" /

/connectionStrings

注意这里连接字符串名称和我们的context类名相同,都为BreakAwayContext。我们修改了一下默认的数据库名,将BreakAway.BreakAwayContext

改为BreakAwayConfigFile。

我们在新增一个连接字符串

connectionStrings

!--add name="BreakAwayContext" providerName="System.Data.SqlClient" connectionString="Server=.SQLEXPRESS;Database=BreakAwayConfigFile;Trusted_Connection=true" /--

add name="My_Test" providerName="System.Data.SqlClient" connectionString="Server=.;Database=MyBreakAwayDb;Trusted_Connection=true" /

/connectionStrings

新建的连接串名称和context类名不同了,所以我们要在BreakAwayContext的构造函数中指名连接串的名称:

public class BreakAwayContext : DbContext

{

public BreakAwayContext():

base("name=My_Test")

{

}

}

利用DbConnection

DbContext有一个带DbConnection重载的构造函数,说明我们也可以通过DbConnection来定位数据库位置。我们也要先修改BreakAwayContext的构造函数:

public BreakAwayContext(DbConnection connection)

: base(connection, contextOwnsConnection: false)

{ }

调用:

static void Main(string[] args)

{

try

{

var lodging = new Lodging

{

Name = "Rainy Day Motel",

};

var resort = new Resort

{

Name = "Top Notch Resort and Spa",

MilesFromNearestAirport = 30,

Activities = "Spa, Hiking, Skiing, Ballooning",

};

var cstr = @"Server=.SQLEXPRESS; Database=BreakAwayDbConnectionConstructor;Trusted_Connection=true";

using (var connection = new SqlConnection(cstr))

{

using (var context = new BreakAwayContext(connection))

{

context.Lodgings.Add(lodging);

context.SaveChanges();

}

}

}

catch (System.Data.Entity.Validation.DbEntityValidationException ex)

{

Console.WriteLine( " 保存失败");

}

Console.WriteLine("OK");

Console.Read();

}

使用连接工厂控制数据库位置

Code First的默认连接工厂是SqlConnectionFactory。此连接工厂将使用SQL Client(System.Data.SqlClient的)数据库引擎连接到数据库。默认的行为,将选择在localhost SQLEXPRESS创建数据库,并使用上下文类型的完全限定名作为数据库的名称。

我们可以通过指定的连接字符串段,来覆写默认规则。

static void Main(string[] args)

{

try

{

Database.DefaultConnectionFactory = new SqlConnectionFactory(@"Server=.;Trusted_Connection=true");

using (var context = new BreakAwayContext())

{

context.Database.Initialize(true);

context.SaveChanges();

}

}

catch (System.Data.Entity.Validation.DbEntityValidationException ex)

{

Console.WriteLine( " 保存失败");

}

Console.WriteLine("OK");

Console.Read();

}

PS:用这个方法好像没办法指定数据库名,默认名称为context类的完全限定名。

用powerdesign是不是可以连接数据库直接生成物理模型跟概念模型

将powerdesigner的概念模型转换成物理模型并生成sql语句创建数据库(图文步骤)(1)

首先:了解三种模型

概念模型 Conceptual model 是对真实世界中问题域内的事物的描述(产品方提供)

逻辑模型 Logical Model 是指数据的逻辑结构。在数据库中,逻辑模型有关系、网状、层次,可以清晰表示个个关系。

物理模型 Physical Model 是计算机世界对应的模型。

三者的关系

概念模型是我们将业务抽象成的模型 产品方能看懂

逻辑模型是我们通过对业务的抽象转化成程序员头脑中的模型 程序员能看懂

物理模型是我们将逻辑模型转换成机器能识别的模型 计算机能看懂

然后

打开powerdesigner,根据自己的数据库设计创建对应的概念模型。

选择菜单栏上的 Tools

选择DBMS,可以选择mysql,oracle,等等不同的数据库。

如果是第一次生成物理数据模型,就选择第一个:Generate new Physical Model

看左边生成了物理数据模型哦,那就选择菜单上的DataBase

选择Generate Database

填写Directory(路径)将sql文件放在哪个路径下。。。。File name 也可以随便起名字哦,

到此就成功的导出了sql语句文件。

接下来就是将sqL语句添加到mySql数据库中,生成需要的表。

打开Nacicat 8,

右键,new database,

右击 数据库的名字。

导入之后,如何看不到表,就刷新一下数据库即可。

django使用已有的数据库表怎么建立model

在网上看到都是使用Django的models和makemigration,migrate命令来创建新表,并使用。可是我的数据已经存在了已经创建好,并且已经存储有数据了,不能再重新创建新表了。了解Django的表明和models名称的映射关系就可以让Django使用已经存在的表。

假如在Django存在models如下:

[python] view plain copy

from django.db import models

# Create your models here.

class Sciencenews(models.Model):

id = models.CharField(max_length=36,primary_key=True)

first_module = models.CharField(max_length=30,default="News")

second_module = models.CharField(max_length=30,default="Latest News")

title = models.CharField(max_length=300)

author = models.CharField(max_length=60,null=True)

publish_date = models.CharField(max_length=35,null=True)

content = models.TextField(null=True)

crawl_date = models.CharField(max_length=35,null=True)

from_url = models.CharField(max_length=350,null=True)

执行数据迁移命令:

[python] view plain copy

python manage.py makemigration

python manage.py migrate

会在数据库中生成名称为show_sciencenews的数据表。show为应用名称,此处我的应用名称为show。可以看到Django创建表的命名规则:应用名_模型名。

我的存储爬取到的数据的表格名称原来为science_news,想要Django使用它,而不是创建新的表,只需要把的它的名称改为:应用名_要与该表映射的models名称,在此处我改为show_sciencenews。然后使用如上的数据迁移命令,这时可能会提示数据表已经存在的错误,不用理会,models已经和数据表映射上了。接下来只需要正常使用models和数据表就可以了。

关于根据数据库生成model和根据数据库生成c#代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

根据数据库生成model 根据数据库生成实体类根据数据库生成前端页面根据数据库生成数据字典根据数据库生成er图根据数据库生成网页根据数据库生成swagger根据数据库生成word文档根据数据库生成vue增删改查模板根据数据库生成c#代码根据数据库生成visio
扫码二维码