2012-05-09 22 views
5

現在、EF 5 Code Firstを使用して請求書作成アプリケーションを作成しています。アプリケーションを実行しているときにエラーが発生しています。次のようにEntity Framework 5無効な列名エラー

問題のデータベースオブジェクトは次のとおりです。

[Table("Client")] 
public class ClientBase 
{ 
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int ClientID { get; set; } 

    [Required] 
    public string ClientName { get; set; } 

    [Required] 
    public bool IsActive { get; set; } 

    [Required] 
    public string ClientContactName { get; set; } 

    [Required] 
    public string ClientContactEmail { get; set; } 

    [Required] 
    public DateTime ClientStartDate { get; set; } 

    [Required] 
    public string SalesforceID { get; set; } 

    public DateTime TerminatedDate { get; set; } 

    public string ClientStreet { get; set; } 

    public string ClientCity { get; set; } 

    public string ClientState { get; set; } 

    public int? ClientZipCode { get; set; } 

    public virtual List<PropertyBase> Properties { get; set; } 

    public virtual List<ClientCharge> ClientDefaultCharges { get; set; } 

} 

私は最近、これらのフィールドの束を追加しました(ClientStartDateからClientZipCodeまで、すべての新しいもの)、そして私は、アプリケーションを実行するたびに、私は次のエラーを取得します:

{"Invalid column name 'ClientStartDate'.\r\nInvalid column name 'SalesforceID'.\r\nInvalid column name 'TerminatedDate'.\r\nInvalid column name 'ClientStreet'.\r\nInvalid column name 'ClientCity'.\r\nInvalid column name 'ClientState'.\r\nInvalid column name 'ClientZipCode'."} 

私の驚きは、自分のデータベースが実際にそれに応じて更新されていることです。これらのフィールドは現在テーブル上にありますが、これはまだ私にエラーを与えています。

ここで何が問題になっているかについてのアイデアはありますか?

編集:明らかに、私が言いたいことは忘れていたことがありました.SalesforceIDは外部キーではありません。追加された列は実際にFKでした。彼らは単純なフィールドです。

+0

あなたはこの1つを考え出し終えましたか? –

+0

私は実際にやった。アップデートを投稿してくれてありがとう、ありがとう。 – IronMan84

+0

私は答えが必要です! @ IronMan84 – Aditi

答えて

9

要するに、[必須] DateTimeフィールドをNullable(DateTime?)にすることを検討してください。スタックトレースと初期化コードに関する詳細情報を提供すれば、参考になります。

[Required] 
public DateTime? ClientStartDate { get; set; } 
+0

あなたはどんな説明もできますか?これは解決策であることが奇妙に思えます! – noelicus

1

私は、SalesforceIDが問題を引き起こしていると疑います。新しい列をすべて削除し、一度に1つずつ追加して、エラーを確認してください。実際に問題がSalesforceIDの場合は、thisが解決する可能性があります。

+0

しかし、それはFKではありません。そして、私は一度に1つずつ試しましたが、それでもすべてが失敗します。 – IronMan84

+0

うーん...ここでいくつか見てみましょう。問題はこのクラスに限定されていますか?テーブル名を変更するデータアノテーションを持つクラス?同じクラスを作成できますが、名前を変更してエラーがまだ発生するかどうかを確認してください。 EFの非ベータ版を使用しますか? –

+0

私は同じアノテーションを持つ他のクラスを持っています。そして私はEF 4.3に戻った。まだ何も。 – IronMan84

6

私のケースでは、テストデータベースに対してEDMXを更新し、本番データベースに対してコードを実行していたため、このエラーが発生しました。

関連する問題