Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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.1和BLOB_C#_Entity Framework_Entity Framework 4.1 - Fatal编程技术网

C# 实体框架4.1和BLOB

C# 实体框架4.1和BLOB,c#,entity-framework,entity-framework-4.1,C#,Entity Framework,Entity Framework 4.1,我正试图找出处理blob和实体框架的最佳方法 我正在使用EF4.1,并使用POCO的/DbContext 下面是一个示例表: MyTable Key int SomeFields ... ABlob (ok, it's actually a Text, but whatever) 现在,有时当我从MyTable中选择时,我希望包含BLOB字段,但很多时候,我不这样做 另外,有时候,当我更新MyTable时,我想更新BLOB。但很多时候,我不知道 我可以为select操作使用匿名类型,但我似乎

我正试图找出处理blob和实体框架的最佳方法

我正在使用EF4.1,并使用POCO的/DbContext

下面是一个示例表:

MyTable
Key int
SomeFields ...
ABlob  (ok, it's actually a Text, but whatever)
现在,有时当我从MyTable中选择时,我希望包含BLOB字段,但很多时候,我不这样做

另外,有时候,当我更新MyTable时,我想更新BLOB。但很多时候,我不知道

我可以为select操作使用匿名类型,但我似乎找不到一种方法使其在更新中起作用(我不能将同一上下文中的两个不同类映射到同一个表,如果我尝试使用继承,我会得到一个运行时错误,因为EF需要一个鉴别器列)


当然,使用EF并不意味着我总是要查询我所有的blob。我在这里遗漏了什么?

这可以使用表拆分来完成。和。

您可以通过调用存储过程或从代码中执行SQL语句来尝试:

var result= context.Database.SqlQuery<string>("SELECT yourfield FROM yourtable").ToList();
var result=context.Database.SqlQuery(“从表中选择字段”).ToList();

谢谢你,吉吉奥。我会记住这一点,但我确实在试图找到一种方法来做到这一点,这种方法仍然适用于LINQ,并且不需要存储过程。您好,您可以通过指定实体作为返回类型来使用该代码段,并从代码中执行SQL语句(无需调用sp)。select的字段应与目标类的属性匹配。您将拥有一个可以使用linq查询的列表。