SORU
18 HAZİRAN 2009, PERŞEMBE


Varlık Çerçevesi ve SQL Server Görünümü

Hakkında konuşmak için özgürlük yok. yani çeşitli nedenlerle, şu şekilde: Sql Server 2005 veritabanı üzerinde bir görünüm tanımlıyoruz

CREATE VIEW [dbo].[MeterProvingStatisticsPoint]
AS
SELECT
    CAST(0 AS BIGINT) AS 'RowNumber',
    CAST(0 AS BIGINT) AS 'ProverTicketId',
    CAST(0 AS INT) AS 'ReportNumber',
    GETDATE() AS 'CompletedDateTime',
    CAST(1.1 AS float) AS 'MeterFactor',
    CAST(1.1 AS float) AS 'Density',
    CAST(1.1 AS float) AS 'FlowRate',
    CAST(1.1 AS float) AS 'Average',
    CAST(1.1 AS float) AS 'StandardDeviation',
    CAST(1.1 AS float) AS 'MeanPlus2XStandardDeviation',
    CAST(1.1 AS float) AS 'MeanMinus2XStandardDeviation'
WHERE 0 = 1

Fikir Varlık Çerçevesinde bir varlık yapar bu sorgu oluşturmak, ancak aşağıdakileri bildiren bir hata ile oluşturur:

Uyarı 6002: tablo/görünüm 'Keystone_Local.okunur aktiviteler.'Birincil anahtar tanımlı değil. MeterProvingStatisticsPoint Anahtar olayla olmuştur ve tanımı salt okunur bir tablo/görünüm olarak oluşturulmuştur.

Ve CompletedDateTime alan bu varlık birincil anahtar olacağına karar verir.

EdmGen model oluşturmak için kullanıyoruz. Bir şekilde varlık çerçevesinde birincil anahtar olarak bu görüş, herhangi bir alana dahil olması için değil mi?

CEVAP
26 NİSAN 2010, PAZARTESİ


Aynı sorun vardı ve bu çözümü

Varlık çerçevesi birincil anahtar sütunu kullanmaya zorlamak için ISNULL kullanın.

Varlık çerçevesi birincil anahtar olarak bir sütun kullanmak için değil zorlamak için, NULLIF kullanın.

Bu uygulamak için kolay bir yol başka bir seçin görünümü, bir select deyimi sarmak için.

Örnek:

SELECT
  ISNULL(MyPrimaryID,-999) MyPrimaryID,
  NULLIF(AnotherProperty,'') AnotherProperty
  FROM ( ... ) AS temp

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaliforniaMetin

    CaliforniaMe

    3 ŞUBAT 2013
  • Glove and Boots

    Glove and Bo

    1 ŞUBAT 2007
  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007