问题标签 [simple.data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1043 浏览

select - Simple.Data 选择特定列

我打电话给 Simple.Data,我想在其中限制要返回的列。但是我遇到了问题..

这工作正常:

但是,以下不起作用(我得到一个Simple.Data.UnresolvableObjectException“未找到列”)

Simple.Data 文档给我的印象是,这就是我需要做的所有事情来限制选定的列。请注意,选择只是选择稍后引用的同一列。

实际的异常被抛出就var questionIdRow =行了。

有人可以给我一些指导吗?

0 投票
1 回答
220 浏览

c# - Simple.Data 单向连接表两次

我有一个用户表和一个消息表。Messages 表有两个对 Users 表的外键引用,“To_Id”和“From_Id”都指向 User.Id。我想编写一个查询,该查询将返回消息并允许我从由 To 和 From 关系表示的 User 获取 Username 属性。这是我到目前为止所拥有的:

此查询的结果为我提供了正确的消息计数,但 To_Id 和 From_Id 列消失了,Sender 和 Recipient 列名称也没有出现。我尝试查看文档、github 上的源代码和这里的问题:Simple.Data - how to bi-drectionally join on同一张桌子两次但没有任何成功。有任何想法吗?

0 投票
1 回答
168 浏览

simple.data - Simple.Data 中的动态值

请参阅下面的代码行以获得帮助。

我的问题是,如何db.TableName.phoneNo在 Debug 期间查看 的值。

欢迎任何帮助。

谢谢。

利亚卡特

0 投票
2 回答
1703 浏览

asp.net - 对于 CRUD,以下哪一项是更好的做法?Simple.Data 还是 Dapper?

我在我的应用程序中同时使用 Dapper 和 simple.Data,Dapper 仅用于检索数据以及 Simple.Data 的其他操作。我只需要知道在除检索之外的所有操作中使用 Simple.Data 是否是更好的方法,并且在性能上是否与在 Dapper 中使用 ExecuteNonQuery 一样?

0 投票
1 回答
343 浏览

c# - 如何在 Simple.Data 中正确执行急切加载?

当我尝试进行急切加载(.WithXyz()方法)时,我得到了错误的数据。它尝试使用两个表的主 ID 进行连接,而不是连接到辅助表 ID 的主表上的“属性”。

这是我的代码、Simple.Data.MySql 还是 Simple.Data 中的错误?

我正在使用 NuGet 的 Simple.Data (0.18.3.1) 和 Simple.Data.MySql (0.18.3.0) 版本。

我的代码:

这是我期望的 SQL 示例:

这是它实际创建的 SQL 的日志:

我的数据:

0 投票
1 回答
274 浏览

c# - Simple.Data 惰性引用空

我正在查询一个有 3 条记录的表(工作)。该表有一个指向 JobTypes 和一个名为 Users 的表的外键。运行以下查询时,我得到了三条记录,但我只能延迟加载第一个返回的结果。

输出是:

错误消息是:无法对空引用执行运行时绑定

在发生错误时,使用 quickwatch job.JobType 和 job.User 都为 null,但 job.JobType_Id 和 job.User_Id 属性都有一个有效的 guid 作为值。

错误发生在 foreach 循环的第二次迭代中。当前所有作业都具有相同的用户 ID,但作业类型 ID 不同。我已经验证了每个表中的 id 都是正确的。关于延迟加载期间可能导致此错误的任何想法?

0 投票
1 回答
345 浏览

simple.data - Simple.Data 插入对象 - 列表初始化程序必须至少包含一个初始化程序

当我运行以下代码时:

我收到一个错误:

列表初始化器必须至少包含一个初始化器

堆栈跟踪:在 System.Linq.Expressions.Expression.ListInit(NewExpression newExpression, IEnumerable 1 initializers) at Simple.Data.Extensions.ObjectEx.MakeToDictionaryFunc(Type type) at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func 2 valueFactory) at Simple.Data.Extensions.ObjectEx.ObjectToDictionary(Object obj) at Simple.Data.Commands.InsertCommand.InsertEntity(Object entity, DataStrategy dataStrategy, String tableName, ErrorCallback onError, Boolean resultRequired) at Simple.Data.Commands.InsertCommand.DoInsert(InvokeMemberBinder binder, Object[] args, DataStrategy dataStrategy, String tableName) at Simple.Data.Commands.InsertCommand.Execute(DataStrategy dataStrategy, DynamicTable table, InvokeMemberBinder binder, Object[] args) at Simple.Data.DynamicTable.TryInvokeMember(InvokeMemberBinder binder, Object[] args, Object& result) at Simple.Data.ObjectReference.TryInvokeMember(InvokeMemberBinder binder, Object[] args, Object& result) at CallSite.Target(Closure , CallSite , Object , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1) at ProjectXBaseDataImporter.DataSaver.PersistContacts(IEnumerable1 contactsx) 在 c:\Code\XXX\ProjectXBaseDataImporter\ProjectXBaseDataImporter\CSVImporter.cs:ProjectXBaseDataImporter 的第 54 行。 c:\Code\XXX\ProjectXBaseDataImporter\ProjectXBaseDataImporter\CSVImporter.cs 中的 DataImporter.Import[T](String filePath):c:\Code\XXX\ProjectXBaseDataImporter\ProjectXBaseDataImporter\CSVImporter_Test 中 ProjectXBaseDataImporter.DataImporter_Test.Import() 的第 77 行。 CS:第 32 行

0 投票
1 回答
300 浏览

c# - 使用与 Simple.Data 键相同的字段更新字段

我想实现这一点:

UPDATE MyTable SET Field1=Field1 + 1 WHERE Field2 = 1 AND Field1 = 5000

只是为了解释为什么即时验证没有其他人触及记录,Field1 是一个序列号。

如何实现这一点,我在想类似的东西。MyDb.MySchema.Table.UpdateByField1AndField2(字段 1:5000,字段 2:1,字段 1:5001)。显然这是行不通的。

0 投票
0 回答
680 浏览

sql-server - Simple.Data LIKE 运算符在 Where

我们如何在 ASP.Net C#中使用LIKE操作符WHERESimple.DataSQL Server

我需要运行这个 SQL 查询

最后,我通过给max(regid)列加上别名并以这种方式查询来完成这项任务。

var cid=db.course_test.All() .Select(db.course_test.regid.Max().As("maxcourseid")) .Where(db.course_test.regid.Like(string.Concat("%",DateTime.Now.Year,"%"))) .FirstOrDefault();

笔记

cid=db.course_test.All() .Select(db.course_test.regid.Max().As("maxcourseid")) .Where(db.course_test.regid.Like(string.Concat("%",DateTime.Now.Year,"%")))

返回类型 Simple.Data.SqlQuery

使用FirstOrDefault返回 Top 结果。如果您不希望您可以在不使用 FirstOrDefault 的情况下迭代集合

还有其他更好的方法建议吗?

0 投票
1 回答
314 浏览

c# - 使用 simple.data 将插入列添加到当前值

尝试使用 simple.data 进行更新插入,如果匹配,我想添加到当前值,否则只使用提供的值。

如果 Id=13 不存在,则会失败。

这是有效的,因为存在 Id=13

怎么做?