سلام
من باتوجه به آموزش زیر signalR را در برنامه mvc اجرام کردم و درست هم کار میکند
https://www.codeproject.com/Tips/107...d-EntityFramew
دربرنامه کلاسهای زیر را ایجاد کرده ام
using System;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
namespace SignalR_Ef_CodeFirst.Models
{
[Serializable]
[DataContract(IsReference = true)]
public class Student:EntityBase
{
[Key]
public int StudentId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int? Age { get; set; }
public string date { get; set; }
}
}
کلاس بالا در دیتابیس تبدیل به جدول میشود
using System;
using System.Runtime.Serialization;
namespace SignalR_Ef_CodeFirst.Models
{
[Serializable]
[DataContract(IsReference = true)]
public class StudentList
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int? Age { get; set; }
}
}
جدول به این نام در دیتابیس وجود ندارد
وقتی این کد را مینویسم درست کار میکند برنامه
public async Task<ActionResult> Index()
{
var collection = db.Students;
ViewBag.NotifierEntity = db.GetNotifierEntity<Student>(collection).ToJson() ;
return View(await collection.ToListAsync());
}
اما مشکلی که وجود دارد وقتی می خواهم اطلاعات جدولی را که در دیتابیس وجود دارد از طریق کلاسی که در دیتابیس وجود ندارد لیست کنم نمی توانم
public async Task<ActionResult> Index()
{
var collection = db.Students;
ViewBag.NotifierEntity = db.GetNotifierEntity<StudentList>(collection).ToJs on();
return View(await collection.ToListAsync());
}
ارور زیر را میدهد
Error CS0311 The type 'SignalR_Ef_CodeFirst.Models.StudentList' cannot be used as type parameter
'TEntity' in the generic type or method 'DbContextExtensions.GetNotifierEntity<TEntity>(Db Context, IQueryable)'.
There is no implicit reference conversion from 'SignalR_Ef_CodeFirst.Models.StudentList' to 'SignalR_Ef_CodeFirst.Models.EntityBase'.
SignalR_Ef_CodeFirst
برای حل این مشکل باید چکار کنم
باتشکر