学习笔记

本文详细介绍了如何在ASP.NET MVC项目中利用Ajax获取并展示HighCharts所需的Json数据,同时探讨了EF中Include的用法以及数据库迁移的过程。此外,还讲解了ViewModel的应用场景以及如何在C#中进行Json数据的封装与解析,包括TryUpdateModel在部分更新模型时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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循环,取出所需信息即可。

TryUpdateModel

TryUpdateModel用来部分更新模型,TryUpdateModel(_user, new string[] { "DisplayName", "Email" }) 表示只想从客户提交的数据中更新DisplayName和Email。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值