簡體   English   中英

通過mysql和Entity Framework中的關系訪問表時出現問題

[英]Problems accessing tables through relationship in mysql and Entity Framework

我正在使用C#和Entity Framework訪問MySQL數據庫。 我正在獲取存儲過程的結果,並嘗試將它們轉換為對象列表,但是,每當涉及通過一對多關系引用表的零件時,它都會失敗並顯示錯誤

There is already an open DataReader associated with this Connection which must be closed first.

我正在使用的代碼在這里:

using System;
using System.Collections.Generic;
using System.Data.Objects;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CarHireCommon.DataObjects;

namespace CarHireServer
{
    public class DatabaseHandler
    {
        protected static DatabaseHandler instance;
        protected carhireEntities1 Entities;
        public static DatabaseHandler GetInstance()
        {
            if (instance == null)
                instance = new DatabaseHandler();
            return instance;
        }

    public DatabaseHandler()
    {
        Entities = new carhireEntities1();
    }



        public List<AvailableAssets> GetAvailableAssets(DateTime startDate, DateTime endDate)
        {
            ObjectResult<asset> res = Entities.GetAvailableAssets(startDate, endDate);

            List<AvailableAssets> list = new List<AvailableAssets>();
            foreach(var assetRes in res)
            {
                AvailableAssets asset=new AvailableAssets();
                asset.id = assetRes.id;
                asset.Comment = assetRes.comments;
                asset.Make = assetRes.make;
                asset.Model = assetRes.model;
                asset.Fuel = assetRes.fuel;
                asset.LongTerm = assetRes.longterm;
                // This is the line that errors:
                asset.Category = assetRes.category.categoryname;
                list.Add(asset);
            }

            return list;
        }
    }
}

我已經告訴它存儲過程返回哪個表,並且其他變量可以正確訪問。

我還嘗試通過以下方式進行長途運行:

var cat = from b in Entities.categories where b.id == assetRes.category_id select b;
asset.Category = cat.FirstOrDefault<category>().categoryname;

然而,事情仍然完全相同的錯誤例外。

我發現C#實體框架:已經有一個與此Connection相關聯的打開的DataReader,必須首先關閉它,這可能會完全幫助您解決此問題。

GL!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM