C#でオブジェクトを取得する際に問題があります。私はmongoドライバ2.4.3を使用します。mongodbドライバ3.4.2でオブジェクトを取得する方法C#
私はこのコードを持っている:私は
System.InvalidOperationException: 'No se pueden crear las instancias de
clases abstractas.' -> in this line collection.Find(filter).First();
そして第二に、この例外プログラムショーGetEmplyeeメソッドを呼び出すと、最初のコードで
public Employee GetEmployee(int id)
{
IMongoCollection<Employee> collection = conectWithDatabase();
var filter = Builders<Employee>.Filter.Eq("EmployeeId", id);
var obtenido = collection.Find(filter).First();
return obtenido;
}
この
public List<Employee> GetAllEmployees()
{
IMongoCollection<Employee> collection = conectWithDatabase();
var query = from employee in collection.AsQueryable<Employee>()
select employee;
return query.ToList();
}
を私はクエリvarをリストにキャストしようとすると、プログラムは同じ例外を表示します。
私はMongoDBからオブジェクトを取得しようとします。誰かが私を助けることができれば私は非常に感謝します。 申し訳ありません私の悪い英語。
public abstract class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public DateTime StartDate { get; set; }
}
public class FullTimeEmployee : Employee
{
public int Salary { get; set; }
}
public class PartTimeEmployee : Employee
{
public double HourlyRate { get; set; }
}
のためにこれを行うことができるはずです。したがって、Employeeクラスが抽象クラスとして宣言されている可能性が最も高いです。このクラスの宣言をしてください? – JleruOHeP
はい従業員は抽象です私はFullTimeEmployeeとPartTimeEmployeeを持っています。しかし、私はデータベースが私に仕事を与える従業員のタイプを知らない。私は質問を更新します @JleruOHeP – nicoperez
ここをクリックしてくださいhttp://mongodb.github.io/mongo-csharp-driver/2.4/reference/bson/mapping/polymorphism/ – Veeram