【发布时间】:2010-03-04 01:38:35
【问题描述】:
请注意,我是 Linq To SQL 的新手。
我正在构建一个原型以将现有应用程序转换为使用 Linq To SQL 作为其模型(它是一个 MVVM 应用程序)。由于应用程序存在,我无法更改其数据模型。
该数据库包含有关事件的信息;这些是广告活动或奖品活动。因此,数据模型包括一个表(事件)和两个关联表(AdvertisingEvent 和 PrizeEvent)。在我的旧 C# 代码中,我有一个基类(Event)和两个子类(AdvertisingEvent 和 PrizeEvent),并使用工厂方法来创建适当的风格。
在Linq to SQL下无法做到,不支持这种继承策略。
我想做的是创建一个接口 (IEvent) 以包含基本的共享功能(例如,在每个子类中实现的属性“描述”)。我想我会添加一个属性到超类,例如 SharedStuff,将返回 AdvertisingEvent 或 PrizeEvent作为 IEvent。然后我可以从 WPF 绑定到 MyEvent.SharedStuff.Description。
这有意义吗?有一个更好的方法吗?
顺便说一句:我宁愿不必迁移到 Linq to Entities。
【问题讨论】:
标签: linq linq-to-sql