Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Asp.net mvc 3 存储库模式mvc3_Asp.net Mvc 3_Razor_Entity Framework 4.1_Repository Pattern - Fatal编程技术网

Asp.net mvc 3 存储库模式mvc3

Asp.net mvc 3 存储库模式mvc3,asp.net-mvc-3,razor,entity-framework-4.1,repository-pattern,Asp.net Mvc 3,Razor,Entity Framework 4.1,Repository Pattern,关于c#mvc3中的存储库模式,我有一个非常基本的问题 我使用的是EF4.1,数据库中有数百万条记录 我需要根据某个子句从SQL数据库中获取一些数据。获取的数据可能是数万个,因此我必须使用分页和排序 这里的问题是我需要的子句必须检查XML中作为字符串存储在表中的元素以及其他一些字段 比如:这是我的数据模型: public string ReportXML { get; set; } public DateTime CreatedOn { get; set; } 报表XML包含字

关于c#mvc3中的存储库模式,我有一个非常基本的问题

我使用的是EF4.1,数据库中有数百万条记录

我需要根据某个子句从SQL数据库中获取一些数据。获取的数据可能是数万个,因此我必须使用分页和排序

这里的问题是我需要的子句必须检查XML中作为字符串存储在表中的元素以及其他一些字段

比如:这是我的数据模型:

    public string ReportXML { get; set; }
    public DateTime CreatedOn { get; set; }
报表XML包含字段“
VehicleNumber
”,该字段是我的搜索条件以及
CreatedOn
字段


将此XML作为字符串使用的最佳方法是什么,以便只从DB获取满足子句的匹配项。

对于实体框架来说,这不是一种情况。更糟糕的是,您的数据库表对于此类查询没有足够的结构

要在SQL server中查询XML数据,需要使用-而不是字符串。一旦使用XML数据类型,就可以使用XPath或XQuery查询其内容(还可以为内容编制索引以提高此类查询的性能)。要编写此类查询,您需要使用本机SQL。EF不支持XML列


如果您想从EF使用它,您可以尝试将映射的表替换为视图,该视图将使用XML列查询表,但如果不使用存储过程或EDMX文件中映射的自定义SQL命令,您将无法插入或更新数据。

对于实体框架来说,情况并非如此。更糟糕的是,您的数据库表对于此类查询没有足够的结构

要在SQL server中查询XML数据,需要使用-而不是字符串。一旦使用XML数据类型,就可以使用XPath或XQuery查询其内容(还可以为内容编制索引以提高此类查询的性能)。要编写此类查询,您需要使用本机SQL。EF不支持XML列

如果要从EF使用它,可以尝试将映射的表替换为视图,视图将使用XML列查询表,但如果不使用存储过程或EDMX文件中映射的自定义SQL命令,则无法插入或更新数据