gpt4 book ai didi

c# - EntityType 'DbGeography' 没有定义键

转载 作者:IT王子 更新时间:2023-10-29 04:21:50 26 4
gpt4 key购买 nike

长期听众,第一次来电(终于在这里注册了一个帐户!)...

我将 Visual Studio 2013.NET 4.5.1Entity Framework 6(最终版本,非 RC 或测试版)一起使用。

当尝试向我的实体添加 DbGeography 属性时,我在执行时收到此错误:

    One or more validation errors were detected during model generation:
Geocoder.DbGeography: : EntityType 'DbGeography' has no key defined.
Define the key for this EntityType.
DbGeographies: EntityType: EntitySet 'DbGeographies' is based on type 'DbGeography' that has no keys defined.

我已经确认我没有引用旧版本的 Entity Framework(已讨论 here)。我一直在用this postthis MSDN article示例/信息,因为这是我第一次涉足 .NET(和 SQL Server,就此而言)中的空间类型。

这是我的实体:

public class Location
{
public int Id { get; set; }
public string Name { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public virtual State State { get; private set; }
public string ZipCode { get; set; }
public string ZipCodePlus4 { get; set; }
public DbGeography Geocode { get; set; }
public Hours Hours { get; set; }
public virtual ICollection<Language> Languages { get; private set; }
public virtual OfficeType OfficeType { get; private set; }

[JsonIgnore]
public virtual ICollection<ProviderLocation> Providers { get; private set; }
}

我做错了什么?

最佳答案

事实证明,这与我在 Codeplex here 上从微软自己对类似问题的回应中读到的相反。 ,甚至他们的 documentation here .我解释错了吗?这两个链接都表明在 EF 6 中,DbGeography 数据类型已从 System.Data.Entity.Spatial 移动到 System.Data.Spatial,但反过来似乎是正确的。

我变了

using System.Data.Spatial;

using System.Data.Entity.Spatial;

而且有效。

关于c# - EntityType 'DbGeography' 没有定义键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19551142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com