2

Linq-to-SQLを使用してAreaクラスを作成しました。

次に、検証を実装できるように、同じ名前の部分クラスを作成します。

エラー1タイプ' System.Data.Linq.Table<SeguimientoDocente.Area>'を''に暗黙的に変換できませんSystem.Linq.IQueryable<SeguimientoDocente.Models.Area>C:\ Users \ Sergio \ document \ visual studio 2010 \ Projects \ SeguimientoDocente \ SeguimientoDocente \ Models \ AreaRepository.cs 14 20 SeguimientoDocente

コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace SeguimientoDocente.Models
{
    public class AreaRepository
    {
        private SeguimientoDataContext db = new SeguimientoDataContext();

        public IQueryable<Area> FindAllAreas()
        {
            return db.Areas;
        }

        public Area GetArea(int id)
        {
            return db.Areas.SingleOrDefault(a => a.ID == id);
        }

        public void Add(Area area)
        {
            db.Areas.InsertOnSubmit(area);
        }

        public void Delete(Area area)
        {
            db.Areas.DeleteOnSubmit(area);
        }

        public void Save()
        {
            db.SubmitChanges();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace SeguimientoDocente.Models
{
    public partial class Area
    {

    }
}

これがスクリーンショットです。

代替テキスト

4

2 に答える 2

3

これはほぼ確実に、部分クラスが正しい名前空間にないためです。LINQモデルの.designer.csファイルに移動し、生成されたAreaクラスを探し、部分クラスをラップした名前空間が一致することを確認します。

編集

質問の書式を修正しました。エラーメッセージは、実際には、部分クラスが間違った名前空間にあることを示しています。

System.Data.Linq.Table<SeguimientoDocente.Area>エラー1タイプ' 'を''にSystem.Linq.IQueryable<SeguimientoDocente.Models.Area>暗黙的に変換できません

上記のエラーからわかるように、部分クラスが含まれる名前空間を、SeguimientoDocente.ModelsではなくSeguimientoDocenteに変更する必要があります。現在のところ、これらはまったく異なる2つの互換性のないタイプであり、たまたま同じ単純な名前を持っています。

于 2010-07-28T02:28:34.457 に答える
2

エラーメッセージは、問題がAreaRepository.csファイルの14行目にあることを示しています。具体的には、実際には型であるにもかかわらず、db.Areas戻り型がであるメソッドから戻ろうとしています。IQueryable<Area>db.AreasSystem.Data.Linq.Table

于 2010-07-28T01:24:43.880 に答える