手把手教你如何创建 ASP.NET Dynamic Data 实体网站

news/2024/5/20 11:31:28/文章来源:https://blog.csdn.net/Kenny_cn/article/details/52301308

从四月份开始接触web开发,至今已经有一段时间了。之前一直忙于在做项目,每天加班加点,包括周末。现在项目总算上线了,有了点喘息的机会,回过头看,其实我对后端的东西懂得其实还很少,于是决定自己抽点时间琢磨一些东西。第一个让我困扰的便是ASP.NET Dynamic Data 实体网站,我压根不知道这是什么东东,问身边的同事也不知道,可见这不是一个常用的网站,但是我还是很好奇这到底是做什么用的,于是就有了我的这篇文章。

一、用途

ASP.NET Dynamic Data 实体网站是基于动态数据的,ASP.NET 动态数据允许您通过在运行时从数据库架构推断数据实体的外观和行为并从中派生 UI 行为,创建可扩展的、数据驱动的 Web 应用程序。动态数据支持基架,通过基架可以为数据库中的每个表自动生成网页。 基架使您可以基于数据架构创建用于查看和编辑数据的功能性网站。也就是说ASP.NET Dynamic Data 实体网站会根据数据库结构推断出网页该如何显示,通过网页可以很清楚的知道数据的结构,看到数据库的数据,并且在网页上可以直接操作数据的数据,修改结果直接影响到数据库的数据,效果图如下:

二、创建

知道了有什么用,那接下来就要去了解要怎么用了。首先我们要创建这样一个项目,创建流程:文件-新建-网站-ASP.NET Dynamic Data 实体网站,如下图:




创建完之后我试着运行了一下,会报如下的错误,提示得已经很清楚了,原因是没有注册数据模型。那么问题来了,我们要怎么注册数据模型呢?这便是我们下面要讲的问题。



三、注册数据模型

如何注册数据模型?这个问题也困扰我很久,我在网上搜索了好久都没有搜索到关于如何创建实体网站的例子,不过最终我还是在MSDN上找到了我所需要的资料,链接如下:https://msdn.microsoft.com/zh-cn/library/cc488469.aspx。虽然找到了相关资料,但是还是遇到了不少的坑,所以我觉得还是很有必要写这么一篇文章,希望对感兴趣的人有所帮助,废话不多说,继续。

3.1 用sql server 建一个用于测试的数据库,我建了一个名字为DynamicDB的数据库用于测试。

3.2  向项目中添加数据库文件

方式一、直接通过连接SQL Server 服务器或附件数据库到SQL Server的方式添加数据模型,通过这种方式添加的话不会生成副本,对数据进行修改时会直接影响到原始数据库。

操作:解决方案-右键-添加-添加新项-ADO.NET 实体数据模型-添加。

点确定会弹出一个提示框提示相关文件应该放在App_Code中,选择是则会新建一个App_Code文件夹,并且数据库文件也会放在其中,选择否则会放在主目录下,建议点击是,好处就是便于文件归类。




选择是或否之后会弹出一个框,让你选择数据模型内容,第一个是根据已有数据库产生的设计器,第二个是空的设计器,先新建设计器再关联数据库,第三第四个没试过,而且需要更改的版本要求,在这里选择第一个。



点击下一步会弹出选择数据库的选择框,如果之前有连接过会出现之前的连接,如下第二个图,如果是第一次连接的话会出现如下第一个图,在这里要选择数据源,第一个是连接到数据库,第二个是附件数据库文件到SQL Server服务器,该文件不能为目标SQL Server服务器的数据库。




点击继续之后,会弹出一个框让你选择要连接的数据库,在这里需要填写一些必要的信息,点击更改可以更改数据源



这里选择数据库服务名的时候,可能会出现找不到我们本机的SQL Server,这是因为我刚刚把sql server的进程关掉了,这时重新电脑之后便会有了,或是启动服务中的sql server,如下图。


注意,这里的附加数据库文件其实和另一种数据源方式是一样的,所以也不能是目标SQL Server 服务器中的数据库。

点击确定之后按照流程往下走




确保选中了“将 Web.Config 中的实体连接设置另存为”复选框。可以保留默认的连接字符串名称。





选择“表”节点以选择数据库中的所有表。可以保留默认模型命名空间。点击完成则添加成功。



方式二、先添加数据库文件,然后再创建数据模型。(注意:这里添加数据库文件会创建一个数据库副本,你对数据的所有修改只会影响到副本的数据)

(注意,数据库文件一定要放在App_Data文件夹内,不然添加数据模型的时候会关联不到)

操作:App_Data文件夹-右键-添加-现有项,找到想添加的数据库文件,后缀名.mdf。这里去找我刚刚创建的DynamicDB数据库,SQL Server 穿件的数据库默认的存储路径是:C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA   当进入这个目录的时候显示“没有与搜索条件匹配的项”,原因是搜索的文件后缀名不对,选择数据库文件的后缀就会出现数据库文件了,如图:



此时,选择我刚刚创建的DynamicDB数据库,问题又来了,提示了这个东东




看到这个提示的时候,我首先想到的是应该是我SQL Server 没有关掉的原因,可是当我把SQL Server 关掉重新试的时候还是不行,所以我选择了查看当前有哪些进程在运行,在进程窗口中发现了sql server 的进程,果断关掉重试,顺利添加成功。解决方法如下图:



添加完数据库之后,接下来是要添加数据模型,添加数据模型的操作和方式一的操作一样,同样是:解决方案-右键-添加-添加新项-ADO.NET 实体数据模型-添加。不一样的是在选择数据连接页面会自动关联到你添加的数据库文件,如下图




3.3 注册数据上下文

1.打开Global.asax文件

2.取消以下代码的注释

3.取消注释之后会报如下错误

这时你需要import 相应的命名空间<%@ Import Namespace="System.Data.Entity.Infrastructure" %>,把YourDataContextType 替换成你的数据上下文,可以从xxx.Context.cs文件里面看,如下图

到此,数据上下文已经注册完成了,试着运行一下会报如下错误,此时只需要把ScaffoldAllTables = false 改为 ScaffoldAllTables = true就可以了

运行得到如下效果图

如果插入数据的时候报以下错误:无法更新 EntitySet“SoreInfo_Table”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操

那是因为实体中的表必须有主键,可以按下列方法解决:主键设置好后,先从EF中删除刚设置主键的模型,然后再重新添加到EF中。

  以上便是创建ASP.NET Dynamic Data 实体网站的完整过程,希望对有兴趣的网友有一定帮助,有错误或不足的地方还请各位提出,谢谢!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_901368.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器访问网站的流程

浏览器访问网站的过程 浏览器访问百度的过程是怎样的 &#xff1f;自我理解如下图 访问流程 A电脑首先发送DNS数据&#xff0c;进行解析www.baidu.com对应的IP地址B收到了来自A电脑的DNS请求&#xff0c;解析出www.baidu.com对应的IP地址返回给A电脑A电脑就会向这个地址进行TC…

KNN实战——约会网站配对效果判定

一 约会网站配对效果判定 上一小结学习了简单的k-近邻算法的实现方法&#xff0c;但是这并不是完整的k-近邻算法流程&#xff0c;k-近邻算法的一般流程&#xff1a; 收集数据&#xff1a;可以使用爬虫进行数据的收集&#xff0c;也可以使用第三方提供的免费或收费的数据。一般…

PHp网站建设,期末大作业-海贼王主题【包含前后台】

欢迎前往我的github上下载 连接如下 https://github.com/fighting-dog/phpstudy-haizeiwanghttps://github.com/fighting-dog/phpstudy-haizeiwang

做网站,虚拟主机与云服务器之间,我们应该如何选择?

虚拟主机已经有了一段时间的历史&#xff0c;近几年随着其技术的不断成熟&#xff0c;以及其低廉的价格&#xff0c;成为众多站长的首选对象。但近两年云计算的出现&#xff0c;衍生出云服务器这个产物。这时&#xff0c;很多站长便对虚拟主机与云服务器应该如何选择感到困扰&a…

SEO案例:锚文本、关键字、nofollow、Web标准化(一)(转)

前面谈到了做SEO需要注意的好几个因素。但是因为工作上的原因&#xff0c;好多因素没有讲透的。&#xff08;不过其实有些东西我给我们团队的人都没有讲过的。&#xff09;我看到一些人的回复&#xff0c;对有些SEO因素有误解。 还有&#xff0c;我看到很多人都没怎么关注“Web…

OpenSocial:构建跨多个网站的社交应用程序

OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript. 和 HTML 创建应用程序&#xff0c;用以访问社交网络里的朋友并更新对应的Feeds。这个论坛为各位OpenSocial开发人员提供了一个平台&#xff0c;大家可以在上面提问&#xff0c;…

Linux系统部署网站

Linux系统部署网站 准备环境 Linux服务器域名&#xff08;非必须&#xff09;安装并启动MySQL数据库服务安装Node.js环境 部署网站 先找一个我参与的前后端分离项目 学生宿舍管理系统 在服务器的MySQL里创建一个dormitories数据库&#xff0c;把sql目录里的dormitories.s…

考研——考研有用的“宝贝”(软件,公众号,网站,励志电影,音乐)

软件 考研学习类&#xff1a; 哔哩哔哩-B站&#xff08;必下&#xff09; 看学习视频建议在电脑或平板上&#xff0c;不会有人考研不用B站吧&#xff0c;不会吧&#xff0c;不会吧 中国大学慕课MOOC 中国教育惠民软件&#xff0c;很多专业课都可以搜到&#xff0c;关键都是…

.NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)

接上一篇 .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 在IIS中新建网站&#xff08;端口号8111&#xff09; 直接运行http://localhost:8111/ 错误截图 配置方法&#xff1a; 二、添加通配符脚本映射&#xff0c;选择&#xff1a;C:\Windows\Microsoft.NET\Framewo…

Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

目录 配置环境了解HTTPS配置CA证书服务器新建示例网站并发布在IIS新建自签名证书并配置HTTPS故障排除 其它机器无法通过访问 配置环境 Windows版本&#xff1a;Windows Server 2008 R2 Enterprise Service Pack 1 系统类型&#xff1a; 64 位操作系统 了解HTTPS 为什么需…

Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

目录 前言新建express项目并自定义路由规则如何提取页面中的公共部分?如何提交表单并接收参数? GET 方式POST 方式如何字符串加密?如何使用session?如何使用cookies?如何清除session和cookies?写在之后 前言 前面经过五篇Node.js的学习&#xff0c;基本可以开始动手构建一…

Nodejs学习笔记(七)--- Node.js + Express 构建网站简单示例

目录 前言新建项目、建立数据库以及其它准备工作 新建express ejs 项目&#xff1a;sampleEjs创建数据库修改package.json文件,安装session和mysql模块样式和JQuery文件清理项目冗余文件&#xff0c;并添加监听规划路由&#xff0c;并新建相关文件实现登录和注册需要的数据访问…

Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

目录 前言搭建项目及其它准备工作 创建数据库创建Koa2项目安装项目其它需要包清除冗余文件并重新规划项目目录配置文件规划示例路由&#xff0c;并新建相关文件实现数据访问和业务逻辑相关方法 编写mysql-helper.js编写数据访问方法规划业务逻辑返回值编写业务逻辑注册登录首页…

BET365网站websocket解密分析

BET365网站websocket解密分析 ** 前不久和朋友聊到了这个网站,就手痒试了试,但是js解密有点不在行,所以只能去各种博客,github中寻找案例,然后自己在琢磨琢磨。 ** 本文仅用于交流学习 了解BET365网站的童鞋应该都知道它的更新频率是超快的, 这跟他使用的websocket数据…

BET365网站 2020-7 token生成分析

BET365网站 token生成分析 最近发现网站的js token生成逻辑变了&#xff0c;于是从新编辑一下&#xff0c;本篇只说思路&#xff0c;并无代码。 在以前生成token的位置打断点&#xff0c; 然后进行对比会发现这个token并无用处&#xff0c;已经成为一个障眼法了 然后我们根据某…

如何利用客户端缓存对网站进行优化?

介绍 你的网站在并发访问很大并且无法承受压力的情况下,你会选择如何优化? 很多人首先会想从服务器缓存方面着手对程序进行优化,许多不同的服务器缓存方式都有他们自己的特点,像我曾经参与的一些项目中,根据缓存的命中率不同使用过 Com/Enterprise Libiary Caching/Windows服…

如何查看sharepoint2013内所有的网站模板

我们可以在SharePoint 2013 Management powerShell中使用如下命令来获取Sharepoint的Site Template Lists Get-SPWebTemplate

将sharepoint 2013 网站集由基于路径命名转换到基于主机命名

由于一开始对sharepoint 了解不深&#xff0c;所以对基于路径和基于命令的网站集也了解不多&#xff0c;一开始创建网站集的时候全部创建成了基于路径的。再后来需要用到身份验证的时候&#xff0c;出现了很多问题&#xff0c;所以认真学习了一些基于主机命令的网站集创建方法&…

HelloGitHub.com 网站开源了

简介 随着 HelloGitHub 月刊持续更新了一年多&#xff0c;内容变的越来越多。因为内容数据没有结构化&#xff0c;如果还是使用之前的编辑文本的方式编辑月刊内容&#xff0c;会对后面的继续发刊和维护带来了很多问题和多余的工作&#xff0c;例如&#xff1a;查看、查重、分类…

常见的5种网站页面布局方式及特点分析

互联网的世界里&#xff0c;网页是我们接触最多的内容展示平台&#xff08;载体&#xff09;&#xff0c;各种风格设计及不同类型主题的网站数不胜数&#xff0c;笔者作为一名网页设计师&#xff0c;在关注内容本身的同时&#xff0c;也喜欢研究一下网站页面的设计特点&#xf…