Tôi đang cố gắng xây dựng một kho lưu trữ chung với người lập bản đồ. Tuy nhiên, tôi có một số khó khăn để thực hiện các hoạt động CRUD.Kho lưu trữ chung với người lập bản đồ
Dưới đây là một số mã từ kho:
public class GenericRepository<TEntity> : IGenericRepository<TEntity> where TEntity : class
{
internal IDbConnection Connection
{
get
{
return new SqlConnection(ConfigurationManager.ConnectionStrings["SoundyDB"].ConnectionString);
}
}
public GenericRepository(string tableName)
{
_tableName = tableName;
}
public void Delete(TEntity entity)
{
using (IDbConnection cn = Connection)
{
cn.Open();
cn.Execute("DELETE FROM " + _tableName + " WHERE [email protected]", new { ID = entity.Id });
}
}
}
Như bạn thấy, delete-phương pháp của tôi mất một TEntity như tham số mà là một paramter của kiểu lớp.
tôi gọi Xóa-phương pháp của tôi từ UserRepository của tôi như thế này:
public class UserRepository : GenericRepository<User>, IUserRepository
{
private readonly IConnectionFactory _connectionFactory;
public UserRepository(IConnectionFactory connectionFactory) : base("User")
{
_connectionFactory = connectionFactory;
}
public async Task<User> Delete(User model)
{
var result = await Delete(model);
return result;
}
}
Cái này là tôi không thể viết entity.Id
ở Xóa-opration của tôi trong kho lưu trữ chung của tôi. Tôi gặp lỗi. Vậy làm thế nào tôi có thể dễ dàng thực hiện các hoạt động CRUD như thế này?
Đây là thông báo lỗi:
TEntity does not contain a definition of "Id" and no extension method "Id" accepting a argument of type "TEntity" could be found
Khi bạn gặp lỗi và bạn đặt câu hỏi về lỗi đó, bạn cần bao gồm lỗi đó. Một lỗi xảy ra trong thời gian chạy trường hợp này được gọi là một 'ngoại lệ' (* đây là cách các lỗi tự biểu hiện trong .net *). Bao gồm 'Message',' Type', 'StackTrace', và lặp lại điều này một cách đệ quy trên' InnerException'. Sử dụng liên kết chỉnh sửa trên câu hỏi của bạn để bao gồm chi tiết đó, không bao gồm chi tiết đó làm nhận xét.Vui lòng đọc [Làm cách nào để tôi đặt câu hỏi hay] (http://stackoverflow.com/help/how-to-ask). – Igor
@Igor: Đây không phải là lỗi thời gian chạy. Kiểm tra câu hỏi đã cập nhật của tôi. – Bryan
Tất cả các loại mà bạn sử dụng có một thuộc tính công khai của loại 'int' có tên là' Id' không? – Igor