Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 实体框架4.1&;现有数据库_C# 4.0_Entity Framework 4.1_Ef Code First - Fatal编程技术网

C# 4.0 实体框架4.1&;现有数据库

C# 4.0 实体框架4.1&;现有数据库,c#-4.0,entity-framework-4.1,ef-code-first,C# 4.0,Entity Framework 4.1,Ef Code First,嗨,我有一个现有的数据库,它有一个包含30个字段的表,我想将该表拆分为多个模型,这样我就可以检索/保存我需要的字段,而不是每次都从数据库检索/保存整个对象。使用c# 我想我应该先使用代码。有人能提供一个例子或教程链接吗 谢谢,您不需要拆分表就可以加载字段子集或持久化字段子集。这两种操作在整个表映射到单个实体时都可用 对于选择,您只需使用投影: var data = from x in context.HugeEntities select new { x.Id, x.Nam

嗨,我有一个现有的数据库,它有一个包含30个字段的表,我想将该表拆分为多个模型,这样我就可以检索/保存我需要的字段,而不是每次都从数据库检索/保存整个对象。使用c#

我想我应该先使用代码。有人能提供一个例子或教程链接吗


谢谢,

您不需要拆分表就可以加载字段子集或持久化字段子集。这两种操作在整个表映射到单个实体时都可用

对于选择,您只需使用投影:

var data = from x in context.HugeEntities
           select new { x.Id, x.Name };
可以在投影中使用匿名类型,也可以使用任何未映射的类

对于更新,您只需使用:

var data = new HugeEntity { Id = existingId, Name = newName };
context.HugeEntities.Attach(data);
var dataEntry = context.Entry(data);
dataEntry.Property(d => d.Name).IsModified = true; // Only this property will be updated
context.SaveChanges();
或:

将多个实体映射到单个表必须遵循非常严格的规则,并且只有在所有实体都必须与一对一关系(在代码优先中,每个拆分的表中有两个以上的实体)或每个层次结构继承表相关的情况下,才可能使用表拆分。我认为你不想在这个案子中使用任何一个

var data = new HugeEntity { Id = existingId };
context.HugeEntities.Attach(data);
data.Name = newName; 
context.SaveChanges(); // Now EF detected change of Name property and updated it