基于表值函数创建返回类型

时间:2013-02-18 11:56:48

标签: linq-to-sql orm user-defined-functions return-type

我经常有一组表值函数返回具有相同结构的数据集(相同的列名,类型和顺序)。

如果我只是将函数拖到Linq2Sql设计器中,设计器将为每个函数创建一个新的匿名结果类型,并且这些函数在结果上不兼容。

告诉设计人员函数具有相同的结果类型,我需要将函数拖到现有的Linq2Sql类中。

没关系,但我每次都必须手动创建类(在设计器区域中插入一个新表,按 Insert 多次插入列,键入列名,客户端数据类型和服务器端数据类型)。如果有许多列和许多函数,这可能非常耗时。

有没有办法告诉设计师通过查看表值函数来自动创建实体(表类),这样我就可以将其余的函数拖到该实体上?

我目前的解决方法是:

  • 在服务器上创建一个视图:

    create view dbo.stupid_linq as select * from dbo.FunctionIWant(bogus_params);
    
  • 将该视图拖动到设计器,后者将创建一个实体。

  • 通过删除Source来取消实体与数据库的链接。

  • 重命名实体。

  • 删除服务器上的视图。

  • 将表值函数拖到实体上。

0 个答案:

没有答案