存储过程-率失真优化论文:rate-distortion optimization for video compression

时间:2024-06-29 21:14:54
【文件属性】:

文件名称:存储过程-率失真优化论文:rate-distortion optimization for video compression

文件大小:5.81MB

文件格式:PDF

更新时间:2024-06-29 21:14:54

ef 6 Recipes,中文

第十章 存储过程 存储过程一直存在于任何一种关系型数据库中,如微软的SQL Server.存储过程是包含在数据库中的一些代码,通常为数据执行一些操作,它能为数据密集型计算提 高性能,也能执行一些为业务逻辑. 当你使用数据的时候,有时你会通过存储过程来获取它们. 在本章, 我们探讨一些EF在使用存储过程时,需要关注的地方。我们在本书的其它章节也使用了存储过程, 但通常都是context为执行插入、更新和删除动作。 在本章,我们将为你展示多种使用存储过程的方式。 10-1. 非Code Frist方式返回一个实体集合 问题 想用非Code Frist方式从存储过程里取得一个实体集合 解决方案 Code second (我把它译为非Code Frist)是参照 Code-First 技术,为一个已经存在的数据库建模的方式 我们假设有一个 POCO模型,如Listing 10-1所示: Listing 10-1. The Customer POCO Model public class Customer { public int CustomerId { get; set; } public string Name { get; set; } public string Company { get; set; } public string ContactTitle { get; set; } } 我们已经设置好了DbContext子类和Customer 实体集,如Listing 10-2所示: Listing 10-2. The DbContext Subclass for Customer Entities public class EF6RecipesContext : DbContext { public DbSet Customers { get; set; } public EF6RecipesContext() : base("name=EF6CodeFirstRecipesContext") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Types() .Configure(c => { c.HasKey(cust => cust.CustomerId); c.Property(cust => cust.CustomerId) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); c.Property(cust => cust.Name) .HasMaxLength(50); c.Property(cust => cust.Company) .HasMaxLength(50); c.Property(cust => cust.ContactTitle) .HasMaxLength(50); c.ToTable("Customer", "Chapter10"); }); } } 在数据库中,我们已经定义了如Listing 10-3所示的存储过程,该存储过程根据公司名称和客户标题返回符合条件的 customer Listing 10-3. GetCustomers Returns All of the Customers with the Given Title in the Given Company. create procedure Chapter10.GetCustomers (@Company varchar(50),@ContactTitle varchar(50)) as begin select * from


网友评论