将视图批量新增到PowerDesigner中并以model图表的形式展示

Posted fengge518

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将视图批量新增到PowerDesigner中并以model图表的形式展示相关的知识,希望对你有一定的参考价值。

1:需求

数据库中的所有视图大概64个左右,都需要新增到PowerDesigner中,以图表(model)的形式给展示出来,如下:

技术图片

2:问题点:

由于2020年春节期间病毒的原因,我们需要远程办公,新的数据库上面并没有存在视图,
数据库上面并没有存在视图,这个改怎么导入到PowerDesigner上面去(以图形的PDM的可视化显示出来)
看了实体的模型,字段都有几十个的样子,太长。如果手动一个一个的新增到PowerDesigner上面,工作量太大,也会出错或者是遗漏的情况!

3:解决问题的思路:

3.1:由于Model层里面有视图的实体,我这边就单独再生成到一个临时的数据库中(生成一张一张的表);
3.2:CodeFirest的时候发现,报错提示存在多个DbContent对象。这里先新增一个表,及新增permary key,看是否生成OK,成功之后再批量生成表到数据库
这里需要我们给指定一下,如:1:add-migration init -c LoseViewContecnt 2:update-datebase -c LoseViewContent

3.3: 实在不想写 public DbSet<*****> **** { get; set; } 这样重复的代码,这里就写了一个批量生成代码的临时小工具

string assemblyPath = @"D:MyCore3.1TestLoseViewTableinDebug
etcoreapp3.1LoseViewTable.dll";
Assembly assembly = Assembly.LoadFrom(assemblyPath);
StringBuilder sb = new StringBuilder();
if (assembly!=null)
{
Type[] typeList= assembly.GetTypes();
foreach (var item in typeList)
{
string name = "public DbSet&lt;" + item.Name + "&gt; " + item.Name + "{ get; set; }<br/>";
sb.Append(name);
}
}
ViewBag.result = sb.ToString();
return View();

<body>
@html.Raw(@ViewBag.result)
</body>

3.4://--将批量生成到临时的N多代码拷贝到这里 

public class LoseViewContent : DbContext{ 

public DbSet<get_class_course_group_view> get_class_course_group_view { get; set; }

*****    

}

 

技术图片

3.5:批量生成表到一个临时的数据库

add-migration addTables02 -c LoseViewContent

update-database -c LoseViewContent

技术图片

 4:从Powerdesigner批量添加表

4.1 选中要新增到的PDM 右击Database
4.2 update model From DataBase
4.3 新增ODBC对应的配置文件,建议不要在里面写密码,如果是自己的电脑可以写入密码

技术图片

4.4 选中好对应的User即数据库名称

技术图片

4.5 OK开始批量新增模型到PowerDesigner

技术图片

 

 

 


以上是关于将视图批量新增到PowerDesigner中并以model图表的形式展示的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从 iOS 中的数据模型存储到核心数据中并以数据模型的格式获取

以原始形式将数据保存在数据库中并以 json 格式获取结果

使用PowerDesigner工具设计数据库

如何用Powerdesigner的PDM生成数据库

将复选框列表传递到视图中并拉出 IEnumerable [重复]

如何将流生成器中的数据显示到文本字段中并更新来自列表视图?