如何发现游戏bug一个.net的EF的大BUG,请专家来研究下!

.net|LOFTER(乐乎) - 记录生活,发现同好
LOFTER for ipad —— 记录生活,发现同好
记录生活,发现同好
458位喜爱 #.net 的小伙伴邀你来玩
查看高清大图
喜欢并收藏内容
关注达人获取动态
评论私信与同好交流
10秒注册,查看更多优质内容
网易公司版权所有 & ICP备:浙B2-增值电信业务经营许可证:浙B2-
{if x.type==1}
{if !!x.title}${x.title}{/if}
{if !!x.digest}${x.digest}{/if}
{if x.type==2}
{if x.type==3}
{if x.type==4}
加入 LOFTER 开通功能特权
查看高清大图
喜欢并收藏内容
关注达人获取动态
评论私信与同好交流当前位置: >
在vs2015上使用asp.net core+ef core
发布时间:
& 作者:本站编辑 &
浏览次数:
摘要: 官方的文档https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html 先来看一下实现的效果
开始之前,确定本...
官方的文档
先来看一下实现的效果
&开始之前,确定本机已经有.NET Core环境。
1.创建解决方案的文件结构如下图(模糊处理的过文件是自己后面加的和ef生成的)。
2.要使用ef core,先引用ef core相关的程序包。
打开project.json,将“Microsoft.EntityFrameworkCore.SqlServer”、“Microsoft.EntityFrameworkCore.SqlServer.Design”和“Microsoft.EntityFrameworkCore.Design”添加到“dependencies”下;将“Microsoft.EntityFrameworkCore.Tools”添加到“tools”下。(注:当然这些都可以通过NuGet来安装,需要注意的是用nuget安装“Microsoft.EntityFrameworkCore.Tools”时,要将其移动到“tools”下)
3.打开连接到数据库,设置数据库连接字符串
4.打开程序包管理控制台,运行下面命令。-OutputDir Models指向生成文件存放文件的位置是Models
Scaffold-DbContext "Server=.;Database=CoreDTrusted_Connection=TUser ID=你的连接数据库的用户;Password=你的连接数据库的密码;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
5.打开刚才用Scaffold-DbContext生成的CoreDemoContext.cs的文件,移除OnConfiguring方法
6.在CoreDemoContext.cs里面加入下面代码
1 public CoreDemoContext(DbContextOptions&CoreDemoContext& option)
: base(option)
7.打开appsettings.json,加入下面的数据连接配置代码
"ConnectionStrings": {
"CoreDemoDatabase": "Server=.;Database=CoreDTrusted_Connection=TUser ID=你的连接数据库的用户;Password=你的连接数据库的密码;"
8.打开Startup.cs,修改ConfigureServices方法,如下
1 public void ConfigureServices(IServiceCollection services)
// Add framework services.
services.AddMvc();
services.AddDbContext&CoreDemoContext&(option =& option.UseSqlServer(Configuration.GetConnectionString("CoreDemoDatabase"))); // 获取sql连接配置
9.添加一个新的Controller--UserController
public class UserController : Controller
private CoreDemoContext _
public UserController(CoreDemoContext context)
_context =
// GET: /&controller&/
public IActionResult Index()
var users = (from u in _context.TUsers
select u).ToList();
return View(users);
public IActionResult Create()
return View();
[HttpPost]
[ValidateAntiForgeryToken]
public async Task&IActionResult& Create(UserViewModel model)
if (!ModelState.IsValid)
return View(model);
TUsers user = new TUsers()
Name = model.Name
_context.TUsers.Add(user);
int result = await _context.SaveChangesAsync();
return RedirectToAction("Index");
10.创建Index视图和Create视图
1 @model IEnumerable&TUsers&
ViewBag.Title = "用户列表";
7 &h2&用户列表&/h2&
&a asp-action="Create"&添加用户&/a&
12 &table class="table table-bordered table-hover table-striped"&
&th&姓名&/th&
&th&创建日期&/th&
@foreach (var item in Model)
@Html.DisplayFor(modelItem =& item.Name)
@(((DateTime)item.CreateDate).ToString("yyyy-MM-dd hh:mm:ss"))
28 &/table&
1 @model WebDemo.Models.UserViewModel
ViewBag.Title = "新增用户";
7 &h2&创建一个新用户&/h2&
9 &form asp-action="Create" method="post"&
&div class="form-horizontal"&
@*&div asp-validation-summary="All" class="text-danger"&&/div&*@
&div class="form-group"&
&label asp-for="Name" class="col-md-2 control-label"&姓名:&/label&
&div class="col-md-10"&
&input asp-for="Name" class="form-control" /&
&span asp-validation-for="Name" class="text-danger"&&/span&
&div class="form-group"&
&div class="col-md-offset-2 col-md-10"&
&input type="submit" value="Create" class="btn btn-default" /&
25 &/form&
27 @section scripts{
@* 添加jquery验证库 *@
&environment names="Development"&
&script src="~/lib/jquery-validation/dist/jquery.validate.js" asp-append-version="true"&&/script&
&script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js" asp-append-version="true"&&/script&
&/environment&
&environment names="Staging,Production"&
&script src="~/lib/jquery-validation/dist/jquery.validate.min.js" asp-append-version="true"&&/script&
&script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js" asp-append-version="true"&&/script&
&/environment&
11.到这一步,运行项目可以直接用vs启动,也可以在cmd里面使用“dotnet run”
转载请注明本文出处:
Install dotNet Core on Mac
.NET Core全面扫盲贴
.NET Core系列 :4 测试
Core Animation (六) 专用图层
Core Animation (六) 专用图层
我来说两句
友情链接:为什么我们不要 .NET 程序员
  也许你已经知道了,我们最优秀的程序员。不错,每个人都这样说。但是我们的程序员能打败你们的——任何时候。比如,米奇虽然只有5英尺高,但他是一个有相当实力的击剑手。维托尔德以前是一个6’3″的职业冰球选手。内特喜欢以丢匕首为乐。当然,他们都是很有水平的程序员。
  发现这些人才,并不是你好好上班就能完成的事。事实上,我生活的一半时间都花在了上面,而丽莎差不多投入了她全部的时间。我们有一支招聘大军,搜遍世界任何一个角落,没有一份简历漏掉。总共算起来,我们有大量的简历。很多我们根本不看,因为简历——说实话——完全没有价值。相反,我们把所有的重点都放在了上,我们会问所有的应聘者,每个问题的主旨都是要揭示一个关键信息:这是我们真的想要的人吗?
  你知道,经验是廉价的。只要有时间,你就能有经验。技术本领难求,但事实上只要你努力就能得到——很多人都能做到。但是态度就不一样了。你要么有,要么没有。我们要找的是对编程有热情的人,他们离不开编程。他们大多是大学之前——有些是中学之前——就开始编程了,而且一开始就停不下来。他们开发各种程序,从汇编到jQuery,从个人电脑到移动手机,从复杂的底层计算图形到高端的社交网络。他们各个领域无所不至。
  无所不至,但是,不包括 .NET。
  让我来解释一下——.NET是一个很不错的语言。它很新潮,很独特,各种花哨的东西应有尽有。如果你要是开发Windows Mobile 7 应用(显示你应该不是),它应该是你的不二选择。选择 .NET 也是一种选择,如果有谁要做这样的选择,我不会阻止,但要问一声“为什么?”
  不要误解我的意思:.NET 在你的简历上并不意味着一个大红叉。但在电话筛选中的确会引起我的疑问,其中的理由让我们用个开心的比喻来解释:
  用 .NET 进行编程就像是在麦当劳做烹饪。那里有全套神奇的设备能够自动的造出所有的东西。只有你按一下正确的按钮,跟着提示灯的指示,你就可以批量的制造出完美无缺的1.6盎司的汉堡,比地球上的任何其他人都要快。
  然而,如果你想做出一个1.7盎司的汉堡,很抱歉,你做不到。很简单,没有这样的按钮。馅饼是预先做成了那样的尺寸。它们做出来之后就被冷冻,所有你无法把它们揉到一起做成其它尺寸,解冻机和烹饪机是一体的,你没有办法在它们之间进行拦截。麦当劳的厨房产出的食品精确的和麦当劳的菜单保持一致的——这种模式使你的大脑不需要任何的思考。可是,它不能偏离菜单,对烹饪机器的任何你妄想的压挤变形都会导致它停止工作,而被送回返厂维修。
  然而,我们要找的是另外一种人。一种能够用削尖的树棍在野外篝火上烧烤松鼠的人——那是在深山老林里为了生存而捕捉并剥了皮的松鼠。我们不需要快餐店厨师长,我们要的是由野狼带入文明社会的《》,在堆满铜钱底壶和精选香料的法国厨房里喂养大的人。我们要的人不仅仅能做汉堡,他要能够从无到有做出任何东西。
  你也看见了,微软是特意这么做的(而且非常成功)。.NET要跟其它所有东西都表现出尽可能的不同,让程序员们远离细节,这样就导致他们完全彻底的依赖微软神奇的编程工具套件,让这些工具替他们思考。微软早在舞台上只有他一个演员时就这样做,明确的使这些东西要么很难移植到非Windows平台,要么看起来很难实现,以此来保持他的垄断地位。
  这种做法——或者这种对立的思维——导致了无数的分歧。小的方面,比如在文件路径中使用反斜杠,而不是像其它经典系统中使用正斜杠,或在DirectX中使用左旋坐标系统,而不是使用自从计算机诞生以来就采用的右旋坐标系统。大的方面,比如通过无数的分层把网络架构搞的晦涩难解,使人们很难想象出字节在网络中如何传输的。还有成百上千这样的事情:他们的开发工具在你没有写任何代码前就先生成了一大堆复杂的文件,笨重的服务器上本来对于任何人只需要敲几下键盘的操作却非要启动一个远程的GUI终端,那是一个对开源许可协议过敏的编程文化。这样的事情举不胜举。
  这些并不会让你成为一个“差程序员”。如果你只想尽快的做出一个1.6盎司的汉堡,把余生奉献到无尽的系列菜单上,那所有的这些特立独行对你来说不会有任何影响。但是,每天你在那种厨房里的日子并不是真正的厨房生活,学不到如何做真正的食物,写不出真正的代码。
  更糟糕的是,在微软厨房里学一天的东西需要两天去忘记,我是说,一旦你心安理得的走上了.NET的事业道路,你很难再走回头路。因为你被深深的桎梏到了这些工具和技术里,而这些工具和技术跟 .NET 之外的东西毫不相干,这样一来,对于一个创业公司来说,你实际上没有什么价值,你的这些年就如南柯一梦。
  那么,这篇文章是要告诉你什么?两个事情:
如果你想着在一家创业公司工作,别用.NET。它会让你不受欢迎。
如果你创办了一个公司,想招聘真正的人才,留心那些简历上有 .NET 的人,问他们为什么要写上它。
  这些听起来很刺耳,但却是事实。有时候我们只有松鼠可以吃,我们需要能把它做出好的味道。
  请关注我们的新浪微博:
分享这篇文章:
扫一扫二维码分享:
你也许会喜欢这些文章:
[英文原文: ]
对于这篇文章,你的反应是:
You had mail.
Paul read it, so ask him what it said.
本作品采用进行许可。
备案信息:京ICP备号 &&京公网安备00号
感谢你的参与互动。966,690 九月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
.NET 4.6的RyuJIT编译器中发现严重的Bug
.NET 4.6的RyuJIT编译器中发现严重的Bug
Jeff Martin
注意: 挥一挥衣袖,带走满满干货,关注,时不时发福利呦!
Author Contacted
相关厂商内容
相关赞助商
QCon全球软件开发大会上海站,日-22日,上海宝华万豪酒店,!
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
We notice you’re using an ad blocker
We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.}

我要回帖

更多关于 app上线之后发现bug 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信