代码之家  ›  专栏  ›  技术社区  ›  Tony Heflin

如何使用实体框架继承?

  •  0
  • Tony Heflin  · 技术社区  · 15 年前

    首先,我是一个傻瓜,所以请温柔一点:-)我有一个基本对象公司。我想将其继承到Customer对象和Vendor对象中。我的问题始于这样一个事实:一个给定的公司可以同时成为客户和供应商。我看到的所有示例都使用公司的一个属性,并将其设置为客户或供应商,但我不能这样做。任何帮助都将不胜感激。

    谢谢 托尼

    为了(我希望)清晰而编辑。

    斯蒂金

    这是我正在努力的一个简化版本。我的数据库中有三个表,如下所述。我已经在VisualStudio中创建了模型,并在表(在CompanyId上)和测试之间创建了关联,并且一切都按照预期进行。当我删除关联并从公司继承客户和供应商时,我会得到很多错误。我的假设:公司可以是一个对象,也可以由客户或供应商继承。给定的公司既可以是客户也可以是供应商。

    我对实体框架非常陌生,大约两周前我就开始使用它了,现在仍在努力理解更高级(对我来说)的部分。我是完全偏离了我所选择的方向,还是我只是错过了一些关键的东西?

    公司 -身份证 -名字 -城市 -等

    顾客 -客户特定字段

    小贩 -本多利德 -供应商特定字段 -公司ID

    安德烈酒店

    在我的第一次尝试中,我能够通过创建对象,然后查询一个实例(我认为是正确的词)并使用它this vendor.Company.Address=“123 Happy Trails”与供应商进行交互。我希望能够做的是使用继承的Vendor.Address=“123 Happy Trails”。

    谢谢你们两位的帮助。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Tony Heflin    15 年前

    我解决了这个问题。我使用的是现有的数据库。我尝试使用的表都有自动递增的主键。他们需要关闭自动递增功能,并在数据库中定义1:1关系。一旦我做了这些更改,我就能够使继承完全按照我所希望的方式运行。

    T