ฉันมีโต๊ะ:
CREATE TABLE [dbo].[Realty](
[Id] [int] IDENTITY(1,1) NOT NULL,
[RankingBonus] [int] NOT NULL,
[Ranking] AS ([Id]+[RankingBonus]) PERSISTED NOT NULL
....
)
และมุมมอง:
CREATE View [dbo].[FilteredRealty] AS
SELECT
realty.Id as realtyId,
...
COALESCE(realty.Wgs84X, ruian_cobce.Wgs84X, ruian_obec.Wgs84X) as Wgs84X,
COALESCE(realty.Wgs84Y, ruian_cobce.Wgs84Y, ruian_obec.Wgs84Y) as Wgs84Y,
realty.Ranking,
...
FROM realty
JOIN Category ON realty.CategoryId = Category.Id
LEFT JOIN ruian_cobce ON realty.cobceId = ruian_cobce.cobce_kod
LEFT JOIN ruian_obec ON realty.obecId = ruian_obec.obec_kod
LEFT JOIN okres ON realty.okresId = okres.okres_kod
LEFT JOIN ExternFile ON realty.Id = ExternFile.ForeignId AND ExternFile.IsMain = 1
AND ExternFile.ForeignTable = 5
INNER JOIN Person ON realty.OwnerId = Person.Id
WHERE Person.ConfirmStatus = 1
ฉันมีรูปแบบ dbml ใน C # (LinqToSQL) ด้วยมุมมองFilteredRealty [Ranking]ฟิลด์รับการยอมรับเป็น int nullable และดังนั้นผมจึงมีการแก้ไขประเภทในรหัสที่สร้างขึ้นทุกครั้งเมื่อฉันเปลี่ยนอะไรในฐานข้อมูล มันน่าผิดหวังมากสำหรับฉันและการทำงานด้วยตนเองมากมาย
ไม่มีการรวมที่ใช้ในFilteredRealty (เกี่ยวกับคำถามที่เกี่ยวข้องนี้ )
ทำไมคอลัมน์อันดับของมุมมองถูกพิจารณาว่าเป็นโมฆะถ้าหลักทรัพย์การจัดอันดับไม่เป็นโมฆะ ?