cuốn sách gpt4 ai đã làm

Không thể suy ra loại chung từ bộ sưu tập

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 18:41:01 25 4
mua khóa gpt4 Nike

Tại sao không làm điều này:

public static void Init(kho lưu trữ params TEntity[]) trong đó TEntity : Thực thể
{
foreach (Mục TEntity trong kho)
{
Kho lưu trữ Rep = Kho lưu trữ mới();
}
}

Đoạn mã trên không thể được biên dịch:Không thể giải quyết mục nhập biểu tượng

Nhưng điều này hoạt động:

public static void Init(Thực thể TEntity) trong đó TEntity : Thực thể
{
Kho lưu trữ Rep = Kho lưu trữ mới();
}

biên tập

Tôi đang chỉnh sửa OP để hiểu vấn đề đầy đủ hơn. Chúng tôi đang gặp một số vấn đề với bối cảnh Entity Framework Db được tạo từ nhiều kho lưu trữ. Hiện tại chúng ta truy cập kho lưu trữ như sau:

Kho lưu trữ Rep = Kho lưu trữ mới()
Kho lưu trữ đại diện = Kho lưu trữ mới()

Vì có mối quan hệ giữa sản phẩm và tài khoản nên EF nhắc nhở các đối tượng được gắn vào các ngữ cảnh khác nhau. Do đó, chúng tôi đã cố gắng giải quyết vấn đề này bằng cách tích hợp quyền truy cập kho lưu trữ vào đơn vị mẫu công việc:

Đây là một ví dụ về những gì tôi đang cố gắng đạt được:

lớp công khai UnitOfWork
{
Danh sách được bảo vệ Kho lưu trữ = Danh sách mới();
riêng tư chỉ đọc DbContext _context;
UnitOfWork được bảo vệ()
{
_context = SqlDbContext mới();
}

public static UnitOfWork Init(params TEntity[] kho lưu trữ) trong đó TEntity : Thực thể
{
UnitOfWork uow = new UnitOfWork();
foreach (Mục TEntity trong kho)
{
Kho lưu trữ Rep = Kho lưu trữ mới();
uow.Repositories.Add(rep);
}
trở về ôi;
}

IRepository công khai GetRepository() trong đó T : Thực thể
{
trả về Repositories.OfType().Single();
}
}

Vì vậy, chúng ta có thể truy cập kho lưu trữ của mình như thế này:

GetRepository().GetById(1);
GetRepository().GetById(123434);

câu trả lời hay nhất

mục là một loại实例, nhưng bạn cần một tham số loại để tạo thông số chung của mình Kho lưu trữ lớp cá thể.

Về C# - Không thể suy ra các kiểu chung từ các bộ sưu tập, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/8920285/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress