我正在用 VB.NET-Code First 开发一个数据库。我想在位置和邮政编码中添加纬度和经度。现在我正在为每个班级添加一个地理坐标。
Public Interface ILocation
Property Street As String
Property City As ICity
Property State As IState
Property Postal_Code As IPostalCode
Property Country As ICountry
Property Coordinate As IGeographicCoordinate
Public Interface IPostalCode
Property ZIP As String
Property Time_Zone As ITimeZone
Property Coordinate As IGeographicCoordinate
Public Interface IGeographicCoordinate
Property Latitude As Decimal
Property Longitude As Decimal
我的问题是让 Location 和 Postal Code 继承 GeographicCoordinate 接口会更好。我认为在我当前的实现中,我将拥有一个 GeographicCoordinates 表,其中包含两个外键(对于其他对象可能更多)。如果我使用 inhearaance 实现,我可以找到任何两个 IGeographicCoordinate 类之间的距离......
Public Function Distance(byval LHS as IGeographicCoordinate, _
byval RHS as IGeographicCoordinate)
使用 inhearaance 实现会将两个实体绑定在两个 IGeographicCoordinates 的实现中。我也可以让这些类继承 GeographicCoordinate 类......
Public Class Location
Inherits GeographicCoordinate
Implements ILocation
我倾向于远离做这样的事情,因为我被锁定没有任何具有 lat 和 long 的类继承自其他任何东西。
谢谢。