Announcement

Collapse
No announcement yet.

Lỗi khó hiểu trong lập trình với Entity Framework

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C#] Lỗi khó hiểu trong lập trình với Entity Framework

    chào các bạn!
    mình đang làm đồ án môn học. trong đồ án, mình chọn công cụ lập trình là Visual studio 2012 Ultimale, sử dụng công nghệ Entity ado.NET để truy vấn đến CSDL
    mình mới demo một chức năng nhỏ. tạo một user control và từ user control đó truy vấn đến 1 bảng trong CSDL. sau khi bulild solution, qua form chính, mình kéo cái user control đó vào form để sử dụng thì bị lỗi: "No connection string named 'MyApplicationEntities' could be found in the application config file"


    mình không hiểu tại sao lại bị lỗi vậy, và cũng không biết cách khắc phục thế nào. ai có ý tưởng gì để giải quyết vấn đề này không giúp mình với!

    đây là cấu trúc của soluution:
    user control của mình chính là file OptionControl.cs nằm trong folder control

    -----------------------------
    Mai Văn Khải
    Software Engineering, University Information of Technology
    a07d26eb5cbc98f77b36a461eb629456

  • #2
    Không có chuỗi kết nối 'MyApplicationEntities' trong file App.config. Mở file đó lên thêm connection string vào.

    Comment


    • #3
      Originally posted by 08520029 View Post
      Không có chuỗi kết nối 'MyApplicationEntities' trong file App.config. Mở file đó lên thêm connection string vào.
      có mà anh. em kiểm tra kỹ lắm rồi! xóa cải entity và connection string trong app.config đi tạo lại cũng không được.
      à, lỗi này chỉ xuất hiện khi kéo thả cái usercontrol vào trong form thôi anh. còn dùng code để gắn nó vào form vẫn ok! truy vấn bình thường ạ! :-s
      -----------------------------
      Mai Văn Khải
      Software Engineering, University Information of Technology
      a07d26eb5cbc98f77b36a461eb629456

      Comment


      • #4
        Các phần code có liên quan, bạn vui lòng quote lên nhé.

        ==================
        Bạn thử gỡ ra cài lại, hay chạy thử với VS2010 chưa?
        Waiting for the day my nickname get painted black and underlined ...!

        Comment


        • #5
          Originally posted by 08520099 View Post
          Các phần code có liên quan, bạn vui lòng quote lên nhé.

          ==================
          Bạn thử gỡ ra cài lại, hay chạy thử với VS2010 chưa?
          thì đơn giản là em tạo 1 user control bình thường. kéo thả vào đó vài cái control của .Net (Đến bước này thì dùng bình thường. vì chưa đụng gì đến mấy lớp trong entity)
          rồi trong sự kiện load của user control, em load dữ liệu lên:
          PHP Code:
          using (var context = new QLNHASACHEntities())            
          {
                  
          THAMSO ts context.THAMSOes.FirstOrDefault(xx => xx.MaThamSo == 1);
                  
          textBox1.Text ts.MaThamSo.ToString();

          build 1 cái! qua form chính kéo thả usercontrol vào form ~> Xuất hiện hộp thoại báo lỗi đó anh.
          em chưa chạy thử vì không có máy nào khác. mới bị chiều nay thôi. em có repair lại visual 2012 rồi nhưng không có tác dụng!

          P/s: tạo ra project mới cũng vẫn bị như vậy!
          Last edited by 09520133; 03-01-2013, 17:38.
          -----------------------------
          Mai Văn Khải
          Software Engineering, University Information of Technology
          a07d26eb5cbc98f77b36a461eb629456

          Comment


          • #6
            Không dám khẳng định nhưng có thể lỗi là vì trong giao diện designer thì nó không thể connect được vào database (thông thường là vậy). Vậy nên trong sự kiện load bạn đặt 1 hàm if đại loại như thế này:

            Code:
            if (!isInDesignedMode)
            {
                 LoadNeccessaryDataFromDatabase();
            }
            Cái kiểm tra design mode thì bạn Google nhé. Mình không có code WinForm nên không dám chắc, cái này là trả lời dựa trên kinh nghiệm code giao diện bao lâu nay thôi .

            Comment


            • #7
              Originally posted by 09520134 View Post
              Không dám khẳng định nhưng có thể lỗi là vì trong giao diện designer thì nó không thể connect được vào database (thông thường là vậy). Vậy nên trong sự kiện load bạn đặt 1 hàm if đại loại như thế này:

              Code:
              if (!isInDesignedMode)
              {
                   LoadNeccessaryDataFromDatabase();
              }
              Cái kiểm tra design mode thì bạn Google nhé. Mình không có code WinForm nên không dám chắc, cái này là trả lời dựa trên kinh nghiệm code giao diện bao lâu nay thôi .
              The name 'isInDesignedMode' does not exist in the current context
              phải using cái gì thế Khải?

              //10 kí tự
              -----------------------------
              Mai Văn Khải
              Software Engineering, University Information of Technology
              a07d26eb5cbc98f77b36a461eb629456

              Comment


              • #8
                Chậc, cái vụ inDesignedMode đó chỉ là dạng pseudo code thôi . Thử cái này xem

                DesignMode checking can be troublesome with form inheritance. An example would be a base form has an OnLoad that does something private void...
                Last edited by 09520134; 03-01-2013, 17:57.

                Comment


                • #9
                  Thử cho phần code trong usercontrol có chứa code entity qua sự kiện load của form coi đc không

                  Comment

                  LHQC

                  Collapse
                  Working...
                  X