powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
6 сообщений из 6, страница 1 из 1
В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
    #38722738
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь повторить вот этот пример
https://github.com/telerik/wrappers-getting-started/blob/master/aspnetmvc/aspnetmvc-episode3/aspnetmvc-episode3/Controllers/ProductsController.cs

Но когда запускаю приложение, вылетает ошибка.
"В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип"

Model

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
namespace EnzoWayApplication1.Models
{
    using System;
    using System.Collections.Generic;
    
    public partial class Client
    {
        public Client()
        {
            this.Orders = new HashSet<Order>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public string Address { get; set; }
        public string LegalAddress { get; set; }
        public string INN { get; set; }
        public string KPP { get; set; }
        public string Account { get; set; }
        public string Bank { get; set; }
        public string CorrespAccount { get; set; }
        public string BIK { get; set; }
        public string OGRN { get; set; }
        public string OKPO { get; set; }
        public string OKATO { get; set; }
        public string OKOGU { get; set; }
        public string Phone { get; set; }
        public string FullName { get; set; }
        public string Chief_accountant { get; set; }
        public string Contact_person { get; set; }
        public string Phone2 { get; set; }
        public string Delivery_terms { get; set; }
        public string Description { get; set; }
        public string General_manager { get; set; }
        public virtual ICollection<Order> Orders { get; set; }
    }
}



View

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
@model IEnumerable<EnzoWayApplication1.Models.Client>

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>

@(Html.Kendo().Grid<EnzoWayApplication1.Models.Client>().Name("Clients").Columns(c => {
    c.Bound(p => p.Name);
    c.Bound(p => p.Address).Title("Адрес");
    c.Bound(p => p.Phone).Title("Телефон");
    c.Bound(p => p.FullName).Format("Полное имя");
    })
    .DataSource(d => d
        .Ajax()
        .Read(r => r.Action("Get", "Clients"))
        .PageSize(5)
    )
    .Pageable()
    .Groupable()
    .Sortable()
    .Filterable()
)



Conoller

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
using EnzoWayApplication1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;

namespace EnzoWayApplication1.Controllers
{
    public class ClientsController : Controller
    {
        private EnzoDatabaseEntities db = new EnzoDatabaseEntities();

        public ActionResult Index()
        {
            return View();
        }
        public JsonResult Get([DataSourceRequest]DataSourceRequest request)
        {
            //var client = from Clients in db.Clients select Clients;
            var client = db.Clients.Select(p => new Models.Client
            {
                Name = p.Name,
                Address = p.Address,
                LegalAddress = p.LegalAddress,
                INN = p.INN,
                KPP = p.KPP,
                Account = p.Account,
                Bank = p.Bank,
                CorrespAccount = p.CorrespAccount,
                BIK = p.BIK,
                OGRN = p.OGRN,
                OKPO = p.OKPO,
                OKATO = p.OKATO,
                OKOGU = p.OKOGU,
                Phone = p.Phone,
                FullName = p.FullName,
                Chief_accountant = p.Chief_accountant,
                Contact_person = p.Contact_person,
                Phone2 = p.Phone2,
                Delivery_terms = p.Delivery_terms,
                Description = p.Description,
                General_manager = p.General_manager
            });
            return this.Json(client.ToDataSourceResult(request));
        }
    }
}
...
Рейтинг: 0 / 0
В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
    #38722814
gandjustas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kim-kong,

Если у тебя тип замаплен на таблицу, то нельзя его использовать в проекции. Это связано с Change-Traсking.

Для code-first не актуально насколько я знаю, но надо проверить.

В твоем случае вообще непонятно зачем так делать, для OData ты может сделать проекцию на клиенте, а на сервере отдавать просто db.Clients.
...
Рейтинг: 0 / 0
В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
    #38722853
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gandjustas,

Я попробовал написать

Код: c#
1.
var client = from Clients in db.Clients select Clients;



но в этом случае в грид ничего не передается.
...
Рейтинг: 0 / 0
В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
    #38727391
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал вот так, но вью все еще пустое.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
using EnzoWayApplication1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;

namespace EnzoWayApplication1.Controllers
{
    public class ClientsController : Controller
    {
        //private EnzoDatabaseEntities db = new EnzoDatabaseEntities();

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Clients_Read([DataSourceRequest]DataSourceRequest request)
        {
            return Json(GetClients().ToDataSourceResult(request));
        }

        private static IEnumerable<Client> GetClients()
        {
            var db = new EnzoDatabaseEntities();
            return db.Clients.Select(p => new Client
            {
                Name = p.Name,
                Address = p.Address,
                LegalAddress = p.LegalAddress,
                INN = p.INN,
                KPP = p.KPP,
                Account = p.Account,
                Bank = p.Bank,
                CorrespAccount = p.CorrespAccount,
                BIK = p.BIK,
                OGRN = p.OGRN,
                OKPO = p.OKPO,
                OKATO = p.OKATO,
                OKOGU = p.OKOGU,
                Phone = p.Phone,
                FullName = p.FullName,
                Chief_accountant = p.Chief_accountant,
                Contact_person = p.Contact_person,
                Phone2 = p.Phone2,
                Delivery_terms = p.Delivery_terms,
                Description = p.Description,
                General_manager = p.General_manager
            });
        }
    }
}



Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
@model IEnumerable<EnzoWayApplication1.Models.Client>

@{
    ViewBag.Title = "Clients";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Clients</h2>

@(Html.Kendo().Grid<EnzoWayApplication1.Models.Client>()
      .Name("grid")
      .Columns(columns =>
      {
          columns.Bound(client => client.Name);
          columns.Bound(client => client.Address);
          columns.Bound(client => client.Phone).Width(250);        
      })
      .Pageable()
      .Scrollable()
      .Groupable()
      .Sortable()
      .DataSource(dataSource => dataSource
            .Ajax()
            .Read(read => read.Action("Clients_Read", "Grid"))
                  )
      .Filterable()
)
...
Рейтинг: 0 / 0
В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
    #38727538
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kim-kong,

Проблема решена
...
Рейтинг: 0 / 0
В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
    #38736173
Alonmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kim-kong,
А как ты разрешил проблему, подскажи, пожалуйста!
Заранее благодарен!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / В запросе LINQ to Entities нельзя конструировать тип сущности или сложный тип
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]