如何在不使用实体框架获取值本身的情况下获取blob大小

本文关键字:获取 情况下 大小 blob 框架 实体 | 更新日期: 2023-09-27 18:23:48

如何在不使用C#中的实体框架获取blob本身的情况下从SQL Server获取blobvarbinary(max))的大小?

using (var context = new EntityBazaCRM(Settings.sqlDataConnectionDetailsCRM))
        {
            Settings.WybraneSzkolenie = context.Szkolenies.FirstOrDefault(d => d.SzkolenieID == szkolenieId);
}

在sql中,我会做select Len(field) from table吗?或者唯一的方法是将值实际存储为另一列?将blob加载到计算机(尤其是在慢速链接上)然后使用Blob.Length是没有意义的。

如何在不使用实体框架获取值本身的情况下获取blob大小

使用SqlFunctions:

using (var context = new EntityBazaCRM(Settings.sqlDataConnectionDetailsCRM))
{
    Settings.WybraneSzkolenie = context.Szkolenies
       .Where(d => d.SzkolenieID == szkolenieId)
       .Select(d => SqlFunctions.DataLength(d.DataField))
       .FirstOrDefault();
}