Entity framework 使用系统表(SYS.xxx)更新模型(edmx)-Sybase

Entity framework 使用系统表(SYS.xxx)更新模型(edmx)-Sybase,entity-framework,sybase,Entity Framework,Sybase,选择“从数据库更新模型”时,表列表中没有可用的系统表(SYS.schema) 如何将系统表添加到EF模型中 Sybase(ASA12)是我正在使用的数据库平台。作为一种解决方法,我在系统表上创建了一个视图。 它随后可用,并可由edmx生成器自动更新。我创建了一个脚本,将所有目录视图(即sys.*)重新创建为用户架构中的视图: 注意:这是T-SQL和SQL Server对象名称,但我相信您可以将此概念应用于Sybase 然后,我运行了上述查询输出的脚本,该脚本将每个sys.x视图复制到一个新的dp

选择“从数据库更新模型”时,表列表中没有可用的系统表(SYS.schema)

如何将系统表添加到EF模型中


Sybase(ASA12)是我正在使用的数据库平台。

作为一种解决方法,我在系统表上创建了一个视图。
它随后可用,并可由edmx生成器自动更新。我创建了一个脚本,将所有目录视图(即sys.*)重新创建为用户架构中的视图:

注意:这是T-SQL和SQL Server对象名称,但我相信您可以将此概念应用于Sybase


然后,我运行了上述查询输出的脚本,该脚本将每个sys.x视图复制到一个新的dpc.x视图,并将所有dpc.*视图添加到我的EDMX模型中。

我不会将此作为答案发布,因为这只是我的猜测-在使用SQL server EF designer/provider时,总是筛选
sys
功能。这与Sybase相同。当您以XML形式打开EDMX时,您可以尝试手动映射它们(=无设计器支持)。然后,每次生成/更新模型时,我都必须“重做”编辑。编辑EDMX后,您将不会使用生成/更新模型-您将手动维护它。是的,这可能会解决我的问题,但因为模型非常“活跃”这不是一个选择。谢谢:)
SELECT
    'CREATE VIEW ' + 'dpc.' + name + ' AS SELECT * FROM ' + 'sys.' + name + char(13) + char(10) + ' GO' + char(13) + char(10)
FROM 
    sys.all_objects 
WHERE
    type = 'v' 
    and is_ms_shipped = 1
    and schema_name(schema_id) = 'sys'
ORDER BY 
    name