Tag: linq

如何在C#中从数据库中检索时将varBinary转换为图像或video

我正在使用visual studio 2010(桌面应用程序)并使用LINQ to SQL将图像/video或音频文件保存到dataType VarBinary(MAX)中的数据库。 这个我可以做…问题是,我无法得到它们并在xaml中显示它们因为我无法使转换部分正确。 这是我到目前为止(尽管它不起作用); private void bt_Click(object sender,RoutedEventArgs e){databaseDataContext context = new databaseDataContext(); var imageValue = from s in context.Images where s.imageID == 2 select s.imageFile; value = imageValue.Single().ToString(); //convert to string and taking down to next method to get converted in image } public string value { get; set; } […]

在LINQ查询中使用模型值中的列表

我处于asp.net MVC开发的非常基本的阶段。 所以有时候我很难用简单的LINQ查询来工作。 scenario- 我有一个页面,其中有一些Image和用户对该图像的评论(就像Facebook上包含用户评论的post)。 所以我从textarea保存这些注释并通过Ajax查询发送Image ID。 这是我的控制器动作方法 – 保存评论 – [HttpPost] public void SaveComment(CardModel card) { CardCommentTable commenttable = new CardCommentTable(); commenttable.CardComment = card.cardComment; commenttable.FKcardID = card.cardID; db.CardCommentTables.InsertOnSubmit(commenttable); db.SubmitChanges(); } 此注释保存在CardCommentTable ,该表具有表的外键引用,即保存图像。 在查看页面上呈现图像和其他字段 – 此查询呈现Image和其他使其成为An Imagepost的字段。 喜欢title , dateofsubmit , Like等。 public ActionResult CardDetails(CardModel card) { var cardDetail = (from u in db.CardTables where […]

LINQ查询列表中的列表

我有这种情况: 我的ModelView: public class Subject { public int ID { get; set; } public string Name { get; set; } public int ProfessorID { get; set; } public string ProfessorFullName{ get; set; } public IList Assistants { get; set; } } public class Assistant { public string AssistantFullName{ get; set; } } 我的查询: var subjects […]

如何使用LINQ执行动态连接

我有两个系列。 每个集合都包含特定类型的实例。 我需要使用每个集合中实例的一个属性来连接这两个集合。 问题是我将在运行时才知道要用于连接的属性。 那么如何为动态Join编写LINQ查询呢? 这是带有静态连接的LINQ查询的代码。 在下面的示例代码中,您将注意到我正在使用MyTran.MyAmountUSD = YourTran.YourAmountUSD加入两个集合。 但在实际情况中,我将知道在运行时仅使用哪个属性进行连接。 所以有时我可能需要加入MyTran.MyAmountGBP = YourTran.YourAmountGBP。 class MyTran { public int Id { get; set; } public double MyAmountUSD { get; set; } public double MyAmountGBP { get; set; } } class YourTran { public int Id { get; set; } public double YourAmountUSD { get; set; } […]

如何使用linq2sql和OR运算符使用谓词构建器

我有两个表(TABLE1,TABLE2 – 我知道的唯一),它们分别具有1对多关系,并且两个表的ID列之间有一个外键。 使用linq2sql我试图选择所有TABLE1条目,使其相应的TABLE2值包含我传递它的列表中的至少1项。 这是我在LINQPad (真棒程序)中使用的一些示例代码来测试它但是我得到错误NotSupportedException:用于查询运算符’Any’的不支持的重载。 long[] items = { 3, 5, 8 }; var predicate = PredicateBuilder.False(); foreach (long i in items) { long t = i; predicate = predicate.Or(att => att.ID == t); } //TABLE2.Where(predicate).Dump(); //works like a charm IQueryable query = from t1 in TABLE1 where t1.TABLE2.AsQueryable().Any(predicate) //problem with this line select […]

运行linq命令时无法识别属性“name”错误

我在我的APS.NET 4.5 Web应用程序中使用Entity Framework 6。 运行以下命令时: using (var db = new booksEnteties()) { var books = from b in db.books select b; } 我收到以下错误: System.Configuration.dll中发生类型为“System.Configuration.ConfigurationErrorsException”的exception,但未在用户代码中处理 在细节中: 无法识别的属性“名称”。 它指向我的web.config行111: 当我删除此行并尝试再次运行时,我收到以下错误: 为system.data创建配置节处理程序时发生错误:列’InvariantName’被限制为唯一。 值’MySql.Data.MySqlClient’已存在。 我假设这与web.config中的Entity Framework 6配置有关。

用条件过滤掉不同的元素

我有一个对象列表,其中包含一些属性的重复项。 我想根据条件得到所有非重复的以及1个重复项。 例如。 列表: 代码:1,等级:10 代码:1,等级:20 代码:2,等级:1 预期清单: 代码:1,等级:20 代码:2,等级:1 条件是重复元素的条件,抓住具有最高Grade元素。 如何编写lambda或linq表达式来执行此操作?

LINQ除非按预期工作

我有一些方法可以返回我在过去360天,180天和90天内未查询过的联系人列表。 在过去361天内未被查询的一个人也将在180天和90天的查询中返回。 我以为我可以用Except做到这一点,但那肯定不行, public class Contacto { public int IdContacto { get; set; } public string PrimerApellido { get; set; } public string PrimerNombre { get; set; } public string SegundoApellido { get; set; } public string SegundoNombre { get; set; } public object Telefonos { get; set; } public int TipoTelefono { get; set; […]

通过查找将循环展平为单个linq表达式

在LINQ到实体的类型成员支持中? 我试图声明在LINQ中查询的类属性遇到了一些问题。 在这里,我将在实现中布置代码,希望能够将其转换为查询。 我有一个类Quiz ,其中包含一个Question集合,每个Question根据一个QuestionLevel级别进行分类…我需要确定一个测验是“打开”还是“关闭”,这是通过外部联接完成的与最大值表相比,每个级别的问题级别和问题计数。 这是代码,逐字: public partial class Quiz { public bool IsClosed { get { // if quiz has no questions, it’s open if (this.Questions.Count() == 0) return false; // get a new handle to the EF container to do a query for max values using (EFContainer db = new EFContainer()) { // […]

在Linq查询中搜索十进制值

我有这个搜索条件 [HttpPost] public ActionResult Index(string searchString) { if (!String.IsNullOrEmpty(searchString)) { students = students.Where(s => s.FIRST_NAME.Contains(searchString) || s.LAST_NAME.Contains(searchString) || s.PERSONAL_NUMBER.Contains(searchString) || s.ACD_UNI_DEGREES.DEGREE.Contains(searchString) || s.ACD_UNI_FACULTIES.FACULTY.Contains(searchString) || s.ACD_UNI_SPECIALIZATIONS.SPECIALIZATION.Contains(searchString) || SqlFunctions.StringConvert(s.SEMESTER).Contains(searchString) || s.COR_PAYER_STATUS.NAME.Contains(searchString) || SqlFunctions.StringConvert(s.CREDIT_COUNT).Contains(searchString)); } return View(students.ToList()); } 但在调试时抛出exception: System.NotSupportedException:类型为“System.Data.Objects.SqlClient.SqlFunctions”的指定方法’System.String StringConvert(System.Nullable`1 [System.Decimal])’无法转换为LINQ to Entities存储表达式。 问题出在这里: SqlFunctions.StringConvert(s.SEMESTER).Contains(searchString) SEMESTER是十进制的, searchString是字符串。 我怎样才能改善这一点?