SubSonic 3.0中的SQL视图

Kar*_*arl 13 subsonic subsonic3

有什么办法可以在SubSonic 3.0中访问我的SQL视图吗?代码生成似乎完全跳过了视图

fre*_*doo 27

要在项目中包含视图

只需打开SQLServer.ttinclude找到加载表的查询(搜索表单'const string TABLE_SQL')然后将其更改为

const string TABLE_SQL=@"SELECT *
    FROM  INFORMATION_SCHEMA.TABLES
    WHERE TABLE_TYPE='BASE TABLE' 
    union
    select Table_catalog, table_schema, table_name, 'View' table_type 
    from information_schema.views";
Run Code Online (Sandbox Code Playgroud)

如果你在asp.net项目中使用它,你可以排除aspnet表和视图

const string TABLE_SQL=@"SELECT *
    FROM  INFORMATION_SCHEMA.TABLES
    WHERE TABLE_TYPE='BASE TABLE' 
        and table_name not like '%aspnet_%'
    union
    select Table_catalog, table_schema, table_name, 'View' table_type 
    from information_schema.views
    where table_name not like '%aspnet_%'";
Run Code Online (Sandbox Code Playgroud)

  • 唯一的问题是,对于不真正适用于视图的视图对象,您有Save(),Delete()等方法 (2认同)

Ada*_*per 0

SubSonic 3 模板尚不生成视图代码。不过,您可以很容易地自己添加功能,请查看 SQLServer.ttinclude 中的 LoadTables 和 GetSPs 方法,了解 SubSonic 如何构建表\存储过程列表。