Entity framework 实体框架6支持SQL Server 2000?

Entity framework 实体框架6支持SQL Server 2000?,entity-framework,sql-server-2000,Entity Framework,Sql Server 2000,有人知道EF 6中是否首先支持SQL Server 2000的代码吗?在官方网站上,我没有找到任何关于EF6支持哪些SQL Server版本的信息。在一些博客中,我发现SQL Server 2000不受支持,但这些博客并非来自官方来源。查看EF 6的源代码,我发现了一些考虑SQL Server 2000的代码 例如: SqlVersion是一个具有SQL Server版本枚举的类,SQL Server 2000在此枚举中 和这些类一样,还有其他类对SQL Server 2000有特殊考虑吗?有

有人知道EF 6中是否首先支持SQL Server 2000的代码吗?在官方网站上,我没有找到任何关于EF6支持哪些SQL Server版本的信息。在一些博客中,我发现SQL Server 2000不受支持,但这些博客并非来自官方来源。查看EF 6的源代码,我发现了一些考虑SQL Server 2000的代码

例如:

SqlVersion
是一个具有SQL Server版本枚举的类,SQL Server 2000在此枚举中

和这些类一样,还有其他类对SQL Server 2000有特殊考虑吗?有人知道EF6是否正式支持SQL Server 2000吗


谢谢

尽管有处理SQL Server 2000的代码,但实体框架无法将一些有效的查询转换为该版本SQL Server将接受的任何形式的SQL。此类查询将导致运行时异常。对于为SQLServer2005或更高版本构建的模型,同样的查询也适用。主要的限制是,在该版本的SQL Server中,没有很好的方法来获得
APPLY
的效果

基本上,您可以在SQL Server 2000中使用EF,但它没有在较新版本中有用,您需要确保应用程序使用的每个查询都得到了测试,因为它编译的事实并不意味着它可以工作


另外,设计器的某些部分会明确检查SQL Server版本并拒绝SQL Server 2000。

是的,您可以将EF 6.x用于SQL Server 2000,我将其用于SQL Server 2000,没有任何问题

但是您应该在模型的
.edmx
文件中设置一些内容

用记事本或任何文本编辑器打开型号
.edmx
文件,然后更改此行:

<Schema Namespace="MyModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2000" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">

如您所见,
ProviderManifestToken=“2000”
显示了您的SQL Server版本。请查看本节,了解如何生成T-SQL查询,并在该版本下生成脚本

    public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator)
    {
        writer.Write("TOP ");

        if (sqlGenerator.SqlVersion
            != SqlVersion.Sql8)
        {
            writer.Write("(");
        }
        .....
<Schema Namespace="MyModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2000" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">