ورود

View Full Version : سوال: مشکل هنگام اجرا signalR



Iran58
پنج شنبه 05 مهر 1397, 13:02 عصر
سلام
من باتوجه به آموزش زیر signalR را در برنامه mvc اجرام کردم و درست هم کار میکند
https://www.codeproject.com/Tips/1075852/ASP-NET-MVC-SignalR-SqlDependency-and-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).ToJson();
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>(DbContext, IQueryable)'.
There is no implicit reference conversion from 'SignalR_Ef_CodeFirst.Models.StudentList' to 'SignalR_Ef_CodeFirst.Models.EntityBase'.
SignalR_Ef_CodeFirst


برای حل این مشکل باید چکار کنم

باتشکر

Iran58
یک شنبه 12 خرداد 1398, 10:27 صبح
سلام
دوستان کسی نیست راهنمای کند