2013-08-01 105 views
1

我试图从数据库中使用实体框架来读取记录,这在我以前没有使用过。使用实体框架无法从数据库读取5

我试着运行负载规则方法:

class Rule 
    { 
     private STRATCODE stratCode; 
     private STRATRULEDEF stratRuleDef; 
     AREEntities AREDb = new AREEntities(); 

     public Rule(STRATRULEDEF StratRuleDef, STRATCODE StratCode) 
     { 
      this.stratRuleDef = StratRuleDef; 
      this.stratCode = StratCode;  
     } 

     public void LoadRule() 
     { 
      var query = from stratCode in AREDb.STRATCODES 
         where stratCode.CODEVALUE == "49300" 
         select stratCode; 

      //StratCodeRepository StratCodeRepository = new StratCodeRepository(new AREEntities()); 
      using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\user\Desktop\NewText.txt",true)) 
      { 
       foreach (STRATCODE row in query) 
       { 
        file.WriteLine("{0} | {1} | {2} | {3} | {4} | {5}", stratCode.STRATRULEKEY, stratCode.CODETYPE, stratCode.CODEVALUE, stratCode.SYSTEMID, stratCode.CODESETKEY, stratCode.PAYMENTYEAR); 
       } 
      } 
     } 

我的问题是,每次我运行它,它返回的记录的正确数目,但所有在文本文件中的数据是空的,我可以在我的输出日志中找不到线索。

0 | | | | | 
0 | | | | | 
0 | | | | | 
0 | | | | | 
0 | | | | | 

任何想法?我不知道如何,即使没有线索

开始

回答

4

你写不使用foreach变量:

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\stephen.carmody\Desktop\NewText.txt", true)) 
    { 
     foreach (var row in query) 
     { 
      file.WriteLine("{0} | {1} | {2} | {3} | {4} | {5}", 
       row.STRATRULEKEY, 
       row.CODETYPE, 
       row.CODEVALUE, 
       row.SYSTEMID, 
       row.CODESETKEY, 
       row.PAYMENTYEAR); 
     } 
    } 
+0

哈哈感谢您的帮助,所以容易但我永远都不会看到它 – Steve2056726