我有一个MVC应用程序,解决方案由三个项目组成,如下所述: store.domain:保留域实体和逻辑(使用实体框架创建的存储库). store.webui:保持控制器和视图;充当应用程序的UI. store.unittests:保存其他两个项目的单位测试. 我将在我的应用程序中使用WebAPI 2,以为某些Android应用程序创建Web服务.现在我不确定以下问题: 1)通过牢记安全性和维护问题,我应该在store.webui项目中创建一个单独的WebAPI项目吗?因为我还将安装WebAPI文档Nuget,并且它将在项目中创建多个文件夹和文件,所以我认为创建一个新项目也许更好. 2)假设创建一个专门针对WebAPI的新项目,WebAPI项目的项目类型和选择是什么?屏幕截图上指示的以下选择是正确的吗? 项目类型:ASP.NET Web应用程序 项目模板:只需选择Web API 预先感谢. 解决方案 WebAPI是Microsoft
以下是关于 entity-framework 的编程技术问答
我正在尝试使用EF从数据库中获取数据.我有一个与此相关联的客户端的桌子干预措施: public partial class Client { public Client() { this.Interventions = new List(); } public int client_id { get; set; } public string full_name { get; set; } public string cgroup { get; set; } public string nation { get; set; } public virtual ICollection Interventions { get; set; } } public partial class Intervention { public int in
在ASP.NET中,Web API服务模型由ADO.NET实体框架数据模型数据库生成的实体类制成. 当模型以服务响应返回客户端时,还返回了来自外键表的数据.例如:客户表包含联系人表作为外键表. 实体框架生成poco(实体)如下. public partial class Customer { public int Id {get;set;} public FirstName {get;set} public LastName {get;set;} //Foreign key table public virtual Contact Contact {get;set;} } 服务模型是: public class Customer { public Customer customer {get;set;} } 从API控制器创建了模型类的实例,从数据库中检索数据并返回给客户端. 问题是"当返回客户表中的所有记录或单个记录时,它也从外键
我开始使用实体框架作为ORM合作.但是我的问题是:这是正确的,并且可以在实体框架和网络服务之间绘制实体? 问题是因为我们需要从Web服务(方法)查询数据到我们的应用程序,而且我们需要使用Web服务(方法)来存储数据.因此,我们希望将体系结构沿整个应用程序保持(使用Enterprise库查询和存储的所有内容). 希望我能清楚自己,谢谢,如果可能的话,请给我一些有用的信息或启动器的教程. 解决方案 在网络上进行深入搜索,我发现我的问题的答案是:"不仅您无法将网络服务的实体映射到实体框架(至少不像它那样容易将使用数据库表),但您也不应该这样做";由于网络服务不是用于此目的的,因此它仅揭示整个数据的某些成员,因此仅将EF结构应用于数据实体本身的某些部分是不合逻辑的. 如果有人有同样的疑问,这是原始帖子: MSDN Forum - Mapping WebService使用实体框架
我有一个.NET 4 Web应用程序,该应用程序具有3个独立的项目 - DAL,BAL和UI.我正在使用实体框架进行数据库交互. 我的代码可以通过大量数据库数据进行循环,根据找到的内容调用方法,然后更新数据库.我希望此代码一直运行.同时,我希望用户能够在后台的代码不断运行时登录并运行报告等. 对此有什么好方法?我是否为不断运行的代码创建服务,一个单独的线程,一个不断运行的代码的完全独立的项目或其他方法.? 另外,根据给出的答案,我将如何启动不断运行的代码?即,通过形式负载方法还是有更好的方法?我目前通过单击"启动"按钮启动代码;这对于测试很好,但在生产时不工作. 解决方案 您最适合使用在IIS下的单独线程上运行代码不是可靠的机制,因为IIS可以随意终止线程以节省服务器资源. 其他解决方案 给出了您的问题和对其他答案的澄清: 您的解决方案在无法安装服务的托管环境中运行; 从第三台服务器(即Azure或类似)调用它不是您的选择; 您最好在app
问题: 在ASP.NET 4.0中,我使用SSRS 2005服务器的ReportService2005.asmx Web服务获取报告列表.同样在.NET中,我使用实体框架与我的MS-SQL 2005数据库进行通信.当我使用Visual Studio开发服务器作为Web服务器时,请致电SSRS,SQL工作正常.但是,当我切换到IIS 5.1时,SSR和实体代码都会产生错误.我在IIS中使用仅使用 Windows/集成身份验证. 错误: 对于SSR,我得到The request failed with HTTP status 401: Unauthorized. 对于实体框架,我得到Login failed for user ''. The user is not associated with a trusted SQL Server connection. 尝试解决方案: 在web.config中,我添加了,
我有一个原因对象: public class Reason { public virtual long Id { get; set; } public virtual string Name { get; set; } public virtual Company Company {get;set;} } 我正在使用实体框架4,公司是公司的导航财产. 我还使用Web服务以将数据返回客户端. 我有返回原因的Web方法: [WebMethod] public Reason[] GetCallReasons() { IReasonRepository rep = ObjectFactory.GetInstance(); return rep.GetReasonsList().ToArray(); } 由于EF4,我得到了执行W
由于单个页面上有多个表单引起的问题,我使用了ajax调用WebMethod来提交我的表单而不是使用ASP控件.但是,在这样做的过程中,我用来在数据库中创建一个新条目的先前方法不再起作用,因为WebMethod必须是静态的. 我已经对已经使用ASPX身份验证的用户进行身份验证,并试图通过CodeBehind检索该用户的用户名和ID.用户已经在page_load上进行了身份验证,但是看来我无法通过我的WebMethod访问此信息.这可以在静态WebMethod内部进行吗?谢谢您提前的所有帮助! [WebMethod] public static void CreateJob() { Submit_Job(); } public static void Submit_Job() { if (Page.User.Identity.IsAuthenticated) { try { string usern
我正在尝试将新属性添加到我的模型中的UserProfile类中 public class UserProfile { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string UserName { get; set; } [Required] [DataType(DataType.EmailAddress)] [Display(Name = "Email Address")] public string Email { get; set; } \\this is the new property public virtual IList Games { get; set; } } 我试图将其添加到我的Configuration
我在Visual Studio 2010 Sp1&Ado.net实体框架4.1 的模板上有很多问题 我注意到其他人遇到了这些问题,并提出了类似的问题,但我认为他们没有提供足够的信息来解决. 问题: ado.net实体数据模型模型模板没有出现 screenshot:解决方案文件 Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "localhost", "http://localhost:36626", "{9BA46BAD-E736-4943-ACAD-EDE2E7A1A21E}" ProjectSection(WebsiteProperties) = preProject UseIISExpress = "true"
因此,我使用MVC构建了我的ASP.NET Web项目,并且它使用EntityFramework 6.0的Code-Fir-Fort方法在Local主机上工作正常. 本周我购买了一个新的网络托管来上传我的网站. 问题是,每次我运行网站时,它都试图在数据库"主"中创建数据库,为什么会发生这种情况? 我正在选择我的网络托管在ConnectionsTring上提供的正确数据库. 有一个注释:我也在使用ASP Identity Owin ...也许是问题?它正在使用另一个连接串? 我的身份配置(用于OWIN): namespace MyNamespace { public class IdentityConfig { public void Configuration(IAppBuilder app) { app.CreatePerOwinContext(() => new MyConte
我的代码在这里: var query = context.Article.GroupBy(x=>x.CreateDate.Value.Month) 不起作用 例如 January 2017 February 2017 March 2017 解决方案 您可以使用一个月和年年按收集进行分组,然后循环通过分组的项目. var articlesGrouped = context.Article .Where(g=>g.CreatedTime!=null) .GroupBy(x => new { Month = x.CreatedTime.Value.Month, Year = x.CreatedTime.Value.Year })
我正在尝试取消用户提出的当前请求. Web表单Web应用程序已导出到Excel功能.如果生成Excel报告用户需要很长时间,则可以取消请求. 单击"取消"按钮后,服务器应停止处理以节省宝贵的带宽. 我找到了下面列出的两个解决方案. 第一个解决方案: 通过直接跳到Application_EndRequest事件来防止进一步的代码执行. protected void btnCancel_Click(object sender, EventArgs e) { if (Response.IsClientConnected) { HttpContext.Current.ApplicationInstance.CompleteRequest(); } } 第二个解决方案:(使用任务并行库-TPL) CancellationTokenSource to
我们有几年前制定的ASP.NET Web表单解决方案.该解决方案具有以下层: 数据访问层:我们可以访问数据,只有一些类似的过程 public void execute_nonquery_sql(字符串SQL) {...} 数据实体:在此层中,我们定义了访问数据库的不同实体和查询. public static DataTable sel_links() { mySQL_DA da = new mySQL_DA(); string sQuery = "SELECT Id, Name, WebSite, Summary FROM links ORDER BY OrderPos ASC"; return da.get_DataTable_sql(sQuery); } 数据逻辑:在哪里调用该过程并返回对象. public List sel_links_web() { try { using
我正在使用实体框架数据库第一种方法.当我想从数据库中获取数据时,我会使用方法 getform_attachmentbyappid .我从代码调用此方法时会遇到以下运行时间错误: An exception of type 'System.NotSupportedException' occurred in EntityFramework.SqlServer.dll but was not handled in user code Additional information: The entity or complex type 'FPSDB_newModel.Form_Attachment' cannot be constructed in a LINQ to Entities query. public partial class Form_Attachment { public int Form_AttachmentID { get; set; } public
我正在使用EF6/.NET 4.5.1在WebForm上的UserControl中检索listView的数据.我已经修改了应用程序使用者,以使用fk属性来包含导航属性[1:1]. public class ApplicationUser : IdentityUser { public ApplicationUser() { CreateDate = DateTime.Now; :\\ deleted stuff } public int TaxID { get; set; } public System.Guid ApplicationId { get; set; } :\\ deleted stuff [ForeignKey("TaxID")] public virtual Personnel Personnel { get; set; } } 模型迁移并测试以进行存储和检索.
我目前正在从事一个项目,该项目通过AJAX通过AJAX发送.NET类型将.NET类型发送到客户端应用程序.我没有序列化的对象并将其设置为客户端的问题. 当我采用完全相同的对象并通过具有以下错误的Web方法将其发布回服务器时,我会遇到问题:/Date(1373950800000)/ is not a valid value for DateTime.这很烦人,因为这是Microsoft给我的方式,但这是点. 有人可以快速解决这个问题吗?我想要一种无缝的方法,可以在不需要更改对象之前就可以实现这一目标. 解决方案 您的问题归结为您正在使用的服务器端JavaScript序列化器; JsonDataContractSerializer(ASP.NET MVC的默认序列化器)或NewtonSoft Json Serializer(ASP.NET Web API的默认序列化器). 有关此日期混音问题以及可能的解决方案的视觉示例,请访问 JSON日期在ASP.NET MVC和