学习笔记

来源:互联网 发布:mysql trigger debug 编辑:程序博客网 时间:2024/05/29 05:10

HighCharts与ASP.NET MVC使用·Ajax获取Json数据

http://www.knowsky.com/887141.html

EF中include的用法

https://www.cnblogs.com/nlh774/p/3588286.html



实体框架将使用这些模型来创建数据库表。对于每个模型,该Id属性将成为数据库表的主键列。在Book类中,AuthorId在Author表中定义一个外键。(为了简单起见,我假设每本书都有一个作者。)书类还包含相关的导航属性Author。可以使用导航属性访问Author代码中的相关内容。

public IQueryable<Book> GetBooks(){    return db.Books        // new code:        .Include(b => b.Author);}
[  {    "BookId": 1,    "Title": "Pride and Prejudice",    "Year": 1813,    "Price": 9.99,    "Genre": "Comedy of manners",    "AuthorId": 1,    "Author": {      "AuthorId": 1,      "Name": "Jane Austen"    }  },  ...
SELECT     [Extent1].[BookId] AS [BookId],     [Extent1].[Title] AS [Title],     [Extent1].[Year] AS [Year],     [Extent1].[Price] AS [Price],     [Extent1].[Genre] AS [Genre],     [Extent1].[AuthorId] AS [AuthorId],     [Extent2].[AuthorId] AS [AuthorId1],     [Extent2].[Name] AS [Name]    FROM  [dbo].[Books] AS [Extent1]    INNER JOIN [dbo].[Authors] AS [Extent2] ON [Extent1].[AuthorId] = [Extent2].[AuthorId]

数据库迁移

 
一些插入数据的语句使用AddOrUpdate方法来执行“upsert”操作。因为Seed每次执行该update-database命令时都会运行该方法,通常在每次迁移之后,您不能只插入数据,因为在第一次迁移创建数据库之后,您尝试添加的行将已经存在。“upsert”操作可防止在尝试插入已存在的行时发生的错误,但会覆盖该行对测试应用程序时可能做出的任何数据更改。对于某些表中的测试数据,您可能不希望发生这种情况:在某些情况下,当您在测试期间更改数据时,希望在数据库更新之后保留更改。在这种情况下,您需要执行条件插入操作:只在行不存在时才插入行。Seed方法使用两种方法。
传递给AddOrUpdate方法的第一个参数指定用于检查行是否已经存在的属性。对于您提供的测试学生数据,该LastName属性可用于此目的,因为列表中的每个姓氏都是唯一的:
context.Students.AddOrUpdate(p => p.LastName, s)

ViewModel的使用

http://www.360doc.com/content/14/0527/16/1355383_381470509.shtml

获取上一页面的链接

ViewBag.UrlReferrer=Request.UrlReferrer.PathAndQuery;
可以用在保存成功界面,用于返回保存成功页面的上一个页面(即点击保存的页面)。

C# Json数据封装与解析

封装Json数据

引入命名空间:using Newtonsoft.Json;

 string Json= Newtonsoft.Json.JsonConvert.SerializeObject(unitEmployeeJsonList);

unitEmployeeJsonList是一个List对象集合,List中还嵌有另外一个List集合。

解析Json数据

 var jsonArrary = JsonConvert.DeserializeObject(ViewBag.Json);
在这里可以吧解析后的数据看做一个数组,使用 foreach循环,取出所需信息即可。