作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我能够在 SSMS 内执行该函数,它返回预期值
SELECT *
FROM dbo.AccDocumentHeaders
WHERE TypeDocumentId = 1
AND dbo.MiladiToShamsi(DocumentDate, 'Saal') = 1395
但是在 Entity Framework 上,我在尝试执行时收到此错误:
var q= "SELECT *
FROM dbo.AccDocumentHeaders
WHERE TypeDocumentId=1
AND [dbo].MiladiToShamsi(DocumentDate,'Saal')=1395 ";
var result = _uow.AccDocumentHeaders.SqlQuery(q).ToList();
Cannot find either column "dbo" or the user-defined function Cannot find either column "dbo" or the user-defined function or aggregate "dbo.MiladiToShamsi", or the name is ambiguous
任何帮助将不胜感激。
最佳答案
当您使用 SSMS 时,您使用的是本地管理员帐户,该帐户的默认架构设置为 dbo
。但是,如果您的 EF 的连接字符串
使用另一个用户,则该用户的默认架构与 dbo 不同,因此,您将得到Cannot find column "dbo"...
错误。因此,请确保您向当前尝试执行的用户授予函数的执行权限,或使用正确的架构 MyUserXYZ.MiladiToShamsi()
并且您应该使用此 MyUserXYZ< 创建此函数
模式也是如此。
关于sql-server - 无法找到任一列 "dbo"或用户定义函数无法找到任一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48436061/
我想按最近的 comment.created 或 post.published_date 对我的帖子进行排序(如果还没有评论)。 posts_all =ForumPost.objects.all().
我是一名优秀的程序员,十分优秀!