我正在尝试做一个简单的JSON返回,但我遇到了问题,我有以下内容.
public JsonResult GetEventData()
{
var data = Event.Find(x => x.ID != 0);
return Json(data);
}
Run Code Online (Sandbox Code Playgroud)
我得到了一个HTTP 500,例外情况如此问题的标题所示.我也试过了
var data = Event.All().ToList()
Run Code Online (Sandbox Code Playgroud)
这给了同样的问题.
这是一个错误还是我的实现?
什么是何时使用这些工具中的一个而不是另一个?我发现Subsonic在快速完成任务方面非常有用,但在大型项目中,它往往无法扩展,并且它将您的域模型与数据库模型联系起来.这就是Nhibernate的用武之地,因为它为您提供了与您的数据库模型无关的轻量级POCO,但设置时间要长得多.
Java中与Dapper,PetaPoco,Massive或CodingHorror等微型ORM最接近的等价物是什么?
我在这个网站和网页上搜索了一个使用jQuery和ASP.NET自动完成的简单例子.我想用web服务公开自动完成所使用的数据(接下来可能会这样做).与此同时,我得到了这个工作,但似乎有点hacky ......
在我的页面中,我有一个文本框:
<input id="txtSearch" type="text" />
Run Code Online (Sandbox Code Playgroud)
我正在使用jQuery自动完成,根据他们的示例进行设置:
<link rel="stylesheet" href="js/jquery.autocomplete.css" type="text/css" />
<script type="text/javascript" src="js/jquery.bgiframe.js"></script>
<script type="text/javascript" src="js/jquery.dimensions.pack.js"></script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
Run Code Online (Sandbox Code Playgroud)
这是它开始变得hacky ...我称之为页面而不是web服务:
<script type="text/javascript">
$(document).ready(function(){
$("#txtSearch").autocomplete('autocompletetagdata.aspx');
});
</script>
Run Code Online (Sandbox Code Playgroud)
在页面中我删除了所有的html并且只有这个(否则,各种HTML位显示在自动完成下拉列表中):
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="autocompletetagdata.aspx.cs" Inherits="autocompletetagdata" %>
Run Code Online (Sandbox Code Playgroud)
在我的autocompletetagdata.aspx中,我使用SubSonic从数据库中查询,格式化和返回数据(每行一个数据项):
protected void Page_Load(object sender, EventArgs e)
{
// Note the query strings passed by jquery autocomplete:
//QueryString: {q=a&limit=150×tamp=1227198175320}
LookupTagCollection tags = Select.AllColumnsFrom<LookupTag>()
.Top(Request.QueryString["limit"])
.Where(LookupTag.Columns.TagDescription).Like(Request.QueryString["q"] + "%")
.OrderAsc(LookupTag.Columns.TagDescription)
.ExecuteAsCollection<LookupTagCollection>();
StringBuilder sb = new StringBuilder();
foreach (LookupTag tag in tags)
{ …
Run Code Online (Sandbox Code Playgroud) 我有很多查询数据库的服务.所有这些都工作正常,但一个服务调用存储过程给我以下错误:
在sys.servers中找不到服务器'dbo'.验证是否指定了正确的服务器名称.如有必要,执行存储过程sp_addlinkedserver以将服务器添加到sys.servers.
我不知道为什么所有其他存储过程都工作正常,这不是...
顺便说一句,我使用SubSonic作为数据访问层.
有什么办法可以在SubSonic 3.0中访问我的SQL视图吗?代码生成似乎完全跳过了视图
我正在开发一个具有以下类的应用程序:
class Shortcut
{
public string Name { get; }
public IList<Trigger> Triggers { get; }
public IList<Action> Actions { get; }
}
class Trigger
{
public string Name { get; }
}
class Action
{
public string Name { get; }
}
Run Code Online (Sandbox Code Playgroud)
而且我将有20多个课程,这些课程将来自Trigger
或Action
,所以最后,我将有一个Shortcut
课程,15个来自的Action
课程和5个来自的Trigger
课程.
我的问题是,哪种ORM最适合这种应用? EF
,NH
,SubSonic
,也许别的东西(Linq2SQL
)?
我将定期发布新的应用程序版本,添加更多触发器和操作(或更改当前触发器/操作),因此我还必须更新数据库模式.我不知道是否提供EF
或NH
提供任何好的方法来轻松更新架构.或者,如果他们这样做,是否有任何教程如何做到这一点?
我已经发现这个文章关于NH
模式更新,报价:
幸运的是,NHibernate为我们提供了更新现有模式的可能性,即NHibernate创建了一个可以应用于数据库的更新脚本.
我从来没有找到如何实际生成更新脚本,所以我无法告诉NH
更新架构.也许我误读了一些东西,我只是没找到它.
注意:如果你建议 …
我真的对使用SubSonic很感兴趣,我已经下载了它,到目前为止我很喜欢它,但是看看github和googlegroups上的活动它看起来并不是非常活跃,看起来很像一个正在濒临死亡的项目.tekpub上没有关于它的视频,而Rob似乎现在正在为他的所有项目使用nHibernate.我不想专注于学习SubSonic并将其集成到我的项目中,如果它不会活得更久.所以我的问题是亚音速开发正在发生什么,是否有一个新版本迫在眉睫即将在幕后发生,还是它看似不活跃?
我正在开发一个ASP.NET MVC中的个人项目,我打算开源.在过去,我开源了很多PHP脚本和基于UNIX的东西.对于那些人,我通常使用BSD/Apache风格的许可证,除非我包括一个阻止它的库.在Linux/PHP方面,这通常意味着GPL-ed,因此仍然会产生相当明确的安排.
但是,对于这个项目,我试图找出哪些许可证甚至可以应用于这个项目,而没有找到任何好的资源来回答这个问题.我知道这个问题的唯一"真实"答案是律师.然而,由于这不会产生收入,如果我要向该项目投入1000美元,我宁愿雇用一名平面设计师或可用性专家来申请通过而不是支付律师费用.
此特定项目还使用Subsonic进行数据库访问,使用Argotic进行RSS解析,这进一步使问题复杂化.
我知道我可以使用所有这些部分,并且我可以重新分配使用它们的项目.但是,我所留下的是对产生的项目可以/必须获得许可的混淆.
我可以通过迷宫中的Subsonic和Argotic位进行谈判,因为它们已经在开源许可下,但我不能成为唯一一个试图找出我可以应用于我在顶部写的项目的许可证的人ASP.NET MVC.
回应评论:
我并没有"害怕"任何事情.我只是试图将这种最终应用程序的许可和分发同样关注到我的体系结构和开发中.除此之外,我看到生命被毁了,因为我们今天没有关注可以说是拜占庭知识产权的法律.
而且,坦率地说,我实际上已经从一个开源组件的律师那里得到了一封令人讨厌的信,我将其包含在我自己的开源项目中,但使用了他们不满意的许可证.
不幸的是,"开源许可证"在法律术语上并没有比说"只使用网络编程语言而且你会没事"更具体.GPL显然是最受欢迎的开源许可证之一,也是少数几个面向它不能应用于ASP.NET MVC应用程序的许可证之一.我很好奇,如果有是没有抛出一个法律上的"编译"的错误,实际上可以被"编译"与我使用的组件的其他许可现有许可证.
我不是说答案很简单(事实并非如此).我问了这个问题,因为我真的对从一个仔细研究过这个问题的观点的答案感兴趣.当我最初发布它时,我完全期望它长时间没有回答,因为这不是一个简单的问题.
我正在为自己编写一个实用工具,部分原因是为了学习C#Reflection,这部分是因为我实际上想要自己使用的结果工具.
我所追求的是基本上将应用程序指向一个程序集并选择一个给定的类,从中选择应作为字段包含在导出的HTML表单中的属性.然后,该表单将在我的ASP.NET MVC应用程序中用作View的开头.
由于我正在将Subsonic对象用于我想要使用的应用程序,这应该是合理的,我想通过想要根据数据类型包含不同输出HTML之类的东西,Reflection就是完成这项工作的方法.
然而,我正在寻找的东西似乎难以捉摸.我正在尝试将通过OpenFileDialog选择的DLL/EXE作为起点并加载它:
String FilePath = Path.GetDirectoryName(FileName);
System.Reflection.Assembly o = System.Reflection.Assembly.LoadFile(FileName);
Run Code Online (Sandbox Code Playgroud)
这工作正常,但由于Subsonic生成的对象实际上充满了在Subsonic.dll等中定义的对象类型,因此不会加载这些依赖对象.输入:
AssemblyName[] ReferencedAssemblies = o.GetReferencedAssemblies();
Run Code Online (Sandbox Code Playgroud)
这也包含了我所期望的内容.但是,我想弄清楚的是如何加载这些程序集,以便我挖掘到我的对象将正常工作.我理解,如果这些程序集在GAC或正在运行的可执行文件的目录中,我可以按名称加载它们,但是这个用例不太可能是这种情况,这是我的主要用例.
因此,它归结为如何加载给定的程序集及其所有任意程序集以文件名开头,并生成一个完全反射可浏览的类型,属性,方法等树.
我知道像Reflector这样的工具可以做到这一点,我找不到获取它的语法.
subsonic ×10
.net ×3
c# ×3
nhibernate ×2
orm ×2
argotic ×1
asp.net ×1
asp.net-mvc ×1
autocomplete ×1
dapper ×1
java ×1
jquery ×1
json ×1
licensing ×1
massive ×1
open-source ×1
petapoco ×1
reflection ×1
subsonic3 ×1