我有个疑问
SELECT *
FROM [ExcelDumps].[dbo].[ProductPrice] As p
Where
(
p.[EndDate] >= '2018-12-18'
OR
p.[EndDate] is null
)
order by case when p.[EndDate] is null then 2 else 1 end, p.[EndDate] asc
我想要实现的是,使用实体框架实现同样的结果是可能的,在这个框架中,p.EndDate的优先级是最后确定的
所需的输出如下:
我所
我读过许多关于如何在LINQ语句中使用实体框架导航属性的内容,而且我仍然有问题。我可以让它在Where子句中工作,而不是作为联接。
如果我的交叉参考表存在于EF中,而不仅仅是一个导航属性,那么LINQ的样子如下:
var status = (from a in context.Beamtime_Request_Statuses
join b in context.Proposal_Types_Beamtime_Request_Statuses on a.Status equals b.Beamtime_Request_Status
whe
我有一个具有ProUserContacts的ProUser类,它是一个未映射的属性,我使用这个属性来表示由特定proUser创建的联系人数量:
public class ProUser : BaseEntity
{
public Guid? UserId { get; set; }
...
[NotMapped]
public int ProUserContacts { get; set; }
}
和一个控制器,用于查询然后通过ProUserConta
在实体框架6.1.1中,IDbSet表示可以从数据库查询的实体集合,其具体实现是DbSet,如
为什么这个接口或它的具体实现不包含ToEnumerableAsync或AsEnumerableAsync的任何定义,而是包含ToListAsync、ToArrayAsync、ToDictionaryAsync?
为了让您了解我为什么遇到这个问题,我有下面的代码,我想做一个异步代码:
public IQueryable<TEntity> GetQuery<TEntity>() where TEntity : class
{
string entityName = Ge
我有一个非常小的项目来理解“代码第一”的方法论。
当我使用“代码优先”创建一个数据库并添加一个对象时--它工作得很好,所有对象的属性都保存在数据库中。然后我尝试获取保存的对象。它返回对象,但一个属性始终为空。
有人能解释一下我的密码出了什么问题吗?
实体类
public class Item
{
public Guid Id { get; set; }
public string OwnerId { get; set; }
public DateTime CreationDate { get; set; }
public stri
因此,我得到了一个非常简单的查询(针对单个表),它在从实体框架运行时返回不同的结果集,而在直接运行SQL Server Management Studio时返回不同的结果集。起初,我认为EF生成了不同的SQL,但在将其重写为直接SQL查询后,它仍然返回不同的结果。
工作查询:
SELECT *
FROM Users
WHERE IsActive = 1
AND IsAdvisor = 1
ORDER BY Initials
失败代码:
//var query = this.BaseDB.Users.Where(x => x.IsAdvisor && x.IsA
我的表格上有两个日期选择器。我想要一个函数,它将在这两个日期之间从一个特定的表(它是特定列的值)返回所有日期时间。
我的方法如下所示:
public DateTime[] GetAllArchiveDates(string username = null)
{
var result = new DateTime[0];
if (username != null)
{
result = this._context.archive.OrderBy(s => s.IssuingDate).Where(s => s.insertedBy == us
在我的数据库中,我有一个名为'Site‘的表,其中包含'Site’列(请不要问为什么:)
我使用的是数据库优先的方法。从数据库更新模型后,我有实体'Site‘,属性为'Site1’
public partial class Site
{
...
public string Site1 { get; set; }
...
}
在我开始使用SqlQuery方法和简单的select之前,它工作得很好:
context.Site.SqlQuery("SELECT * FROM dbo.Site WHERE SiteID IN(2,1)
我有以下几种型号:
public class User
{
public string UserId { get; set; }
public string UserName { get; set; }
public List<Membership> Membership { get; set; }
public bool IsRegistered
{
get { return !String.IsNullOrEmpty(UserName); }
}
}
public class Membership
{
p
我有一个Post类,它是一个模型。它包含这样一个属性:
public bool Showable {
get {
return this.Public && this.PublishedDate > DateTime.now
}
}
我可以在这样的查询中使用它:
from p in db.Posts where p.Showable select p;
但是当我有一个财产使用它,就像这样
public IEnumerable<Post> ShowablePosts {
get {
return from p in db.Posts
我已经懒得加载了,代理创建并不重要(尝试了真和假,没有区别)。
我有这样的模型:
public class Comment{
[Required]
public int SenderID { get; set; }
public User Sender { get; set; }
}
(当然,我有一个用户类)。
在数据库级别,我确认发件人是一个有效的用户对象。我有一些名为IQueryable<Comment>的commentsQuery (基本上是从一篇文章中获取一些评论。然后,我包含发件人导航属性并执行查询:
var comments = comme
我正在使用C#、实体框架和Server 2008 R2创建一个WPF应用程序。我试图触发以下查询。
Select Convert(nvarchar(10),bk.BookingDate,103) as Date, Count(*)
from Booking bk
where
Convert(date,bk.BookingDate) between '2014-10-01' and '2014-10-31'
and bk.IsDeleted = 0
group by Convert(nvarchar(10),bk.BookingDate,10
每次使用包含扩展时,当在WHERE子句中使用包含实体的值时,它都会返回一个错误。
我包括了System.Data.Entity,这是常见的答案,但仍然有相同的问题。
模型:
public partial class business_partner
{
public int id { get; set; }
public string accountid { get; set; }
}
public partial class order
{
public int id { get; set; }
public string doc_number { get; set; }
public i
我使用实体框架5访问我的数据库。该模型非常复杂,具有很多导航特性。我使用linq编写了以下查询:
var myQuery =
from cp in context.ClosedPositions.Include("Position").Include("Position.Folder").Include("Position.Strategy").Include("Position.Symbol").Include("Position.StopTargetPlacer")
where
我读到过关于使用实体框架查询数据库的文章
var result = _dbContext.SqlQuery<string>(sql, someParamSqlParameter).ToList();
如果我想要返回多个列,我该如何编写这种类型的查询呢?我尝试了这段代码,但它给出了一些sql模式映射错误
var result = clsGlobalObjectRefrances.SchoolSoulController.Stt.Database.SqlQuery<LocalAccGroups>(sqlQuery).ToList();
var sqlQuery = "
我知道在实体框架(代码优先)中可以使用这样的原始SQL加载实体
using (var context = new BloggingContext())
{
var blogs = context.Blogs.SqlQuery("SELECT * FROM dbo.Blogs").ToList();
}
但是有没有可能用这种方法以某种方式急切地加载导航属性呢?我想写一个自定义查询,加载一个复杂的实体,并急切地加载它的导航属性(使用EF和Includes已被证明太慢)。
我使用的是一些crm框架,这个框架没有任何内部orm,也没有使用实体框架,只使用普通的sql查询。
我对数据库中的每个表都有实体。举个例子:
public class Customer{
public string FirstName{get;set;}
public int Status{get;set;}
}
我是否可以编写linq查询并将其转换为sql ,而无需使用实体框架或NHibernate?我在找类似的东西。
IQueryable linq = from LinqProvider.Get<Customer>() int customer where
我有一个查询,它连接两个在实体框架中没有定义关系的表,其中联接的表有一个一对多的导航属性到第三个表。
msg和作业之间有一对多的关系,但是没有外键,也没有在.EDMX中定义的关联。
作业和锁之间存在一对多的关系,并且在.EDMX中定义了关联,因此作业具有job.locks导航属性,锁具有lock.job导航属性。
我最初的疑问是:
var msgsAndJobs = (
from m in dbContext.msgs
join j in dbContext.jobs
on new { jobid = m.jobid, priority = m.priority
我已经读取了仓库不应该返回DTO而是实体。那么,我如何返回包含多个子实体的实体列表?
这是我在数据库中的实体:
public class Note
{
[Key]
public int NoteId { get; set; }
[Required]
public string Content { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
现在我在存储库中有:
public IEnumerable<Note> GetNote
我有一个返回公共类的linq查询。在select中,我访问一个属性,遍历实体数据库并添加值,但跳转,除非上面写着:
LINQ到实体不识别该方法的'System.String ToString ()‘方法,并且该方法无法转换为存储表达式。
问题出在哪里?我可以在Linq .Select中跨linq导航到bd导航属性吗?
我试着用几种方法制作.Sum,但失败了。
我会很感激你的帮助。
谢谢
public class prueba
{
public int Id { get; set; }
public string Nombre { get; set; }
pu
public class Denial
{
[Key]
public string DenialCd { get; set; }
[Required]
public string DenialDesc { get; set; }
public ICollection<CaseDenial> CaseDenials { get; set; }
}
public class CaseDenial
{
[Key]
public int ID { get; set; }
[Required]
public