c# - 如何在不使用 Entity Framework 获取值本身的情况下获取 blob 大小

标签 c# sql-server entity-framework blob

如何从 SQL Server 获取 blob (varbinary(max)) 的大小,而不使用 C# 中的 Entity Framework 获取 blob 本身?

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

}

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

最佳答案

使用 SqlFunctions:

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

}

关于c# - 如何在不使用 Entity Framework 获取值本身的情况下获取 blob 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208957/

相关文章:

c# - 从所有 IEnumerables 中的所有 IEnumerables 获取所有对象

c# - 扩展 EF DBContext

c# - 如何在实时图表中逐个添加点到系列

c# - INotifyPropertyChanged 实现,绑定(bind)不起作用

c# - 使用 'using' 语句声明对象以备后用

sql - 如何使用 Python3 连接到在 mac 上的 docker 内运行的 SQL Server?

sql - 如何在sql server精简版中重命名表

sql-server - 这是 MERGE 中的错误,未能正确实现 FOREIGN KEY 吗?

c# - Entity Framework 使编译查询通用

c# - 与 Entity Framework 和 WPF DataGrid 的 2-Way 数据绑定(bind)是否可能?