访问动态数量的SQL视图

时间:2011-09-19 12:47:13

标签: c# sql views

我相信这很难!

我有2个数据库。 DestinySource

Destiny我有一个表,其中包含一系列视图名称。

如:

GasPriceSourceID    Name
1   ICIS Heren TTF Bid
2   ICIS Heren TTF Offer
3   ICIS Heren TTF Midspread
4   NPG Spot
8   AEQ SYS Sell
9   AEQ SYS Buy
10  ICIS Heren Gaspool Midspread

首先,我将在数据库上调用View:ICIS Heren TTF BidSource 然后是ICIS Heren TTF Offer,依此类推。

这将在C#控制台应用程序中完成。

通常我会使用ADO.NET Entitiy数据模型。但这会创建数据库的静态模型 - 但每天都会添加和删除视图。

所有视图都会返回3件事:IDDateValue

我需要将这些价格移到数据库中的表格中:Destiny

所以简而言之。 Destiny有一个价格来源列表。每个来源都有很多价格,这些价格将放在Destiny的表格中。

1 个答案:

答案 0 :(得分:1)

由于您没有提供足够的详细信息,只需提供一些通用指示:

  • 在app中“手动”构建SQL字符串 不推荐并且容易出现问题(安全性,性能......)

  • 构建一个存储过程,然后构建并执行SQL SELECT并返回CURSOR
    可以更安全一些(特别是可以避免SQL注入),因为存储过程会首先检查View是否存在...

BTW:访问这些视图时你究竟在做什么?

编辑 - 来自OP的更多信息:

我怀疑你的模型有点偏离......你所描述的内容非常容易通过EXCATLY ONE View与列SourceIDDate和{ {1}}。

这将使所有动态SQL和由此产生的问题变得轻松......因为那样你可以使用Value的“普通查询”......任何其他技术,如EF和/或LINQ等将可用并“开箱即用”......