2013-12-17 25 views
1

我有一個模型,並具有相同的數據庫表。兩者都是同步的。我在另一臺服務器上有另一個數據庫,我正在使用相同的模型,但是不同的dbContext。列Npgsql錯誤

我的系統是什麼它檢查本地dbcontext並獲取一些行,然後它檢查具有唯一ID的同一行。但是,當它增加了在表中的行它給了我,我不知道什麼是錯的我的表有作爲模型

這裏宣佈同列

ERROR: 42703: column "etrue" does not exist 

錯誤 是我的模型

using System; 
using System.Collections.Generic; 
using System.ComponentModel.DataAnnotations; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace CacsSynchronizer.Models 
{ 
    public class Cards 
    { 
     [Key] 
     public string ecode { get; set; } 
     public string ename { get; set; } 
     public string designation { get; set; } 
     public string department { get; set; } 
     public Nullable<System.DateTime> modifidedate { get; set; } 
     public string fname { get; set; } 
     public string address1 { get; set; } 
     public string address2 { get; set; } 
     public string address3 { get; set; } 
     public string telres { get; set; } 
     public Nullable<System.DateTime> birth { get; set; } 
     public string division { get; set; } 
     public Nullable<System.DateTime> timingin { get; set; } 
     public Nullable<System.DateTime> timingout { get; set; } 
     public string jemail { get; set; } 
     public string altemail { get; set; } 
     public string mobile_no { get; set; } 
     public string vehicle { get; set; } 
     public string company { get; set; } 
     public byte[] tpl { get; set; } 
     public Nullable<System.DateTime> registered { get; set; } 
     public Nullable<System.DateTime> validity { get; set; } 
     public string type { get; set; } 
     public string serial { get; set; } 
     public byte[] photo { get; set; } 
     public Nullable<bool> manual { get; set; } 
     public string visit_to { get; set; } 
     public Nullable<bool> deo { get; set; } 
     public Nullable<bool> employee { get; set; } 
     public Nullable<bool> active { get; set; } 
     public string printing { get; set; } 
     public string modifideby { get; set; } 
     public string container { get; set; } 
     public string gate1 { get; set; } 
     public string gate2 { get; set; } 
     public string gate3 { get; set; } 
     public string gate4 { get; set; } 
     public string gate5 { get; set; } 
     public string gate6 { get; set; } 
     public string gate7 { get; set; } 
     public string level { get; set; } 
     public string containerout { get; set; } 
     public Nullable<bool> psf_staff { get; set; } 
     public string gateno { get; set; } 
     public string gate_in { get; set; } 
     public string gate_out { get; set; } 
     public string visit_name { get; set; } 
     public string gate8 { get; set; } 
     public string gate9 { get; set; } 
     public string gate10 { get; set; } 
     public string gate11 { get; set; } 
     public string gate12 { get; set; } 
     public string gate13 { get; set; } 
     public string gate14 { get; set; } 
     public string gate15 { get; set; } 
     public string own_nic { get; set; } 
     public string gate16 { get; set; } 
     public string gate17 { get; set; } 
     public string gate18 { get; set; } 
     public string gate19 { get; set; } 
     public string gate20 { get; set; } 
    } 
} 

這裏是我的代碼操作

public bool SyncLocalToCentralCards() 
     { 
      using (CacsLocalContext CacsLocalEnt = new CacsLocalContext()) 
      { 
       IList<Cards> CardsData = CacsLocalEnt.Cards.SqlQuery("Select * From cards where ecode='3110305101335'").ToList(); 

       if(CardsData != null) 
       { 
        for (int i = 0; i <= CardsData.Count;i++) 
        { 
         string ecode = CardsData[i].ecode; 

         using (CacsCentralContext CacsCentral = new CacsCentralContext()) 
         { 
          IList<Cards> CentralCards = (from cards in CacsCentral.Cards 
               where cards.ecode.Equals(ecode) 
                select cards).ToList(); 
          if (CentralCards.Count != 0) 
          { 

           return true; 
          } 
          else 
          { 

           CacsCentral.Cards.Add(CardsData[i]); 
           try 
           { 
            CacsCentral.SaveChanges(); 
            Components.MainWindowComponents.SyncUpdateCount(1); 
           } 
           catch (Exception ex) 
           { 
            Components.MainWindowComponents.StatusUpdate(ex.Message); 
           } 

          } 
         } 
        } 
        return true; 
       } 
       else 
       { 
       return false; 
       } 

      } 

     } 

錯誤或在INSERT語句生成的實體框架

INSERT INTO "public"."cards"("ecode","ename","designation","department","modifidedate","fname","address1","address2","address3","telres","birth","division","timingin","timingout","jemail","altemail","mobile_no","vehicle","company","tpl","registered","validity","type","serial","photo","manual","visit_to","deo","employee","active","printing","modifideby","container","gate1","gate2","gate3","gate4","gate5","gate6","gate7","level","containerout","psf_staff","gateno","gate_in","gate_out","visit_name","gate8","gate9","gate10","gate11","gate12","gate13","gate14","gate15","own_nic","gate16","gate17","gate18","gate19","gate20") VALUES (E'3110305101335',E'M WAHEED',E'DR',NULL,NULL,E'M SADIQ',E'DIS. BAHAWAL NIGAR',E'',E'',NULL,TIMESTAMP '1989-08-27T00:00:00.0000000',NULL,NULL,NULL,NULL,NULL,NULL,E'TLA862',E'ZATRANSPORT TR',decode('pw==', 'base64'),TIMESTAMP '2013-03-05T22:56:36.0000000',TIMESTAMP '2013-03-06T22:56:36.0000000',E'CL',E'6050313822',decode('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', 'base64'),ETRUE,E'58',NULL,NULL,NULL,E'0',E'asifjbl',NULL,E'NO',E'NO',E'NO',E'NO',E'NO',E'NO',E'NO',E'1',NULL,NULL,E'6',E'',E'',E'Wiltrans Cargo Services',E'NO',E'NO',E'NO',E'NO',E'NO',E'NO',E'NO',E'NO',NULL,E'NO',E'NO',E'NO',E'NO',E'NO'); 

我不知道爲什麼它被放在鄂中列的值

+0

首先,我沒有在你的模型類中看到「etrue」屬性,所以目前還不清楚爲什麼你的代碼會生成查詢來使用它。其次,該錯誤來自數據庫 - 該列不在一個(或兩個)表中。如果代碼中的模型應該使用該列,則需要將其添加到數據庫中。 – yieldsfalsehood

+0

thanx爲您的答覆。以及在這兩個表中沒有這樣的列我不明白什麼似乎是問題.. –

+0

數據庫錯誤應該與產生錯誤的查詢。如果您的客戶沒有向您顯示該查詢,您可以打開數據庫日誌並在那裏查看。 – yieldsfalsehood

回答

1

這看起來像Npgsql的中和introduced in commit 864c4e9一個fixed in commit b07ae85 on July 5, 2013錯誤。

它看起來像版本2.0.14.3和更高版本包含此修復程序。更新NuGet package將獲得更新,或者您可以從releases page獲取二進制文件。

+0

你可以請給我提供更新包後的鏈接npgsql dll –

+0

我收到此錯誤實體框架提供程序類型Npgsql.NpgsqlServices的實例成員做了不返回從基類繼承的對象... –

+0

它看起來像我錯了,最新版本不包含修復程序。您需要從源代碼構建。 –