小编Hel*_*lbo的帖子

错误:此上下文 EF 仅支持基本类型或枚举类型

这段代码一直报这个错误。:

无法创建“Repository.DBModel.Subscriber”类型的常量值。此上下文中仅支持基本类型或枚举类型。

我已经更改了几次,但它不断出现此错误。

using (SubscriberDBHandler db = new SubscriberDBHandler())
{
    IEnumerable <Subscriber> NewSubscribers = Subscribers
                                              .Where(sub => db.Subscriber
                                              .Any(aSub => !aSub.Email.Equals(sub.Email)));
    List<Subscriber> updateSubscribers = db.Subscriber
                                           .Where(dbSub => Subscribers
                                           .Any(lSub => lSub.Email
                                           .Equals(dbSub.Email))).ToList();
    if(NewSubscribers.Count() >= 1)
    {
        db.Subscriber.AddRange(NewSubscribers);
    }
    updateSubscribers.ForEach(aSub => aSub.State = Subscribers
                                                  .FirstOrDefault(sub => sub.Email
                                                  .Equals(aSub.Email)).State ?? "Error" );
    db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

如果有人能指出我的错误或提出更有效的方法来做到这一点,我将不胜感激。

预先感谢您的时间和帮助。


我知道有一些帖子存在此错误,但在阅读它们时,我无法弄清楚它们与我的问题有何关系。所以如果这是一个常见错误并且其他人已经提供了解决方案,我很抱歉

订阅者对象是List<Subscriber>

我似乎找不到这条线,但是。堆栈跟踪确实包含此内容。

在 System.Linq.Enumerable.ToList[TSource](IEnumerable 1 source) at Repository.SubScribRepository.AddOrUpdateSubscribers(List1 订阅者)

c# lambda entity-framework

1
推荐指数
1
解决办法
7247
查看次数

标签 统计

c# ×1

entity-framework ×1

lambda ×1