我正在辅导一个邻居的孩子,我们int()在使用input()之前正在探索这个函数 - 它返回一个字符串.我们尝试了以下方法:
int(5)
int(5.5)
int('5')
int('5.5')
Run Code Online (Sandbox Code Playgroud)
前三个5按预期返回; 最后一个扔了错误
ValueError:int()的基数为10的无效文字:'5.5'
考虑到前三行的行为,我如何向14岁的人解释错误(背景=说4种语言,但数学不是那么热)?
UPDATE
C#表现出相同的行为:
Convert.ToInt32("5.5");抛出错误
输入字符串的格式不正确.
我在Visual Studio 2010中使用MVC3,C#4.0和Entity Framework.我正在从数据库生成edmx和Designed.cs文件.然后,我将从Designer.cs文件中的实体生成接口,作为我的nLayer结构的一部分.
原始代码是
public partial class DataEntrySummary : EntityObject
Run Code Online (Sandbox Code Playgroud)
然后变成
public partial class DataEntrySummary : EntityObject, Mb.Interface.IDataEntrySummary
Run Code Online (Sandbox Code Playgroud)
我担心的是,当数据库发生变化(它会)并重新生成edmx文件时,我将失去所有的接口定义.
有没有更好的方法来实现相同的结果,而无需重新生成接口.
谢谢
我正在使用VS 2010,MVC3和EF 5在网站上开发联系人日志 - 首先使用代码创建实体.数据存储在SQL Server 2008 R2数据库集中.我想显示联系人日志的摘要并创建了一个视图.
CREATE VIEW dbo.ContactLogSummaries
AS
SELECT
CLE.ContactLogEntryID,
CLE.CaseID,
'Test' AS ContactName,
EU.UserName As OfficeUser,
CLE.DateAndTimeOfContact,
CLC.Category,
CLE.ContactDetails
FROM
ContactLogEntries AS CLE
JOIN
ContactLogCategories AS CLC
ON CLE.ContactLogCategoryID = CLC.ContactLogCategoryID
JOIN
Control.dbo.EndUsers AS EU
ON CLE.UserID = EU.EnduserID
Run Code Online (Sandbox Code Playgroud)
Contact Log数据库(ContactLogEntries和ContactLogCategories)中有两个实体Control.dbo.EndUsers,另一个数据库中有数据库第一个实体.联系日志可能包含大量记录.我希望能够只显示特定案例的记录.
我的问题分为两部分:
我不能使这个查询工作:
Query query = eManager.createQuery("select c FROM News c WHERE c.NEWSID = :id",News.class);
return (News)query.setParameter("id", newsId).getSingleResult();
Run Code Online (Sandbox Code Playgroud)
我得到了这个例外:
Exception Description: Problem compiling [select c FROM News c WHERE c.NEWSID = :id].
[27, 35] The state field path 'c.NEWSID' cannot be resolved to a valid type.] with root cause
Local Exception Stack:
Exception [EclipseLink-0] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Problem compiling [select c FROM News c WHERE c.NEWSID = :id].
Run Code Online (Sandbox Code Playgroud)
为什么会这样?:id和命名参数是相同的
编辑: 我的实体类
@Entity
@Table(name="NEWS")
public class News implements …Run Code Online (Sandbox Code Playgroud) 我在Visual Studio 2010和C#4.0中使用MVC 3.我的应用程序在IIS Express中从Visual studion正常工作,并在部署到远程生产IIS 7.5服务器时正常工作.
当我在我的开发系统上切换到使用完整的IIS 7.5服务器时,我突然开始为我的两个控制器中的操作获取HTTP 404错误.其他控制器正常运行.这是从Visual Studio运行应用程序或直接从IIS运行.
我看不到任何配置差异.
其中一个表现出这种行为的控制器是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;
using Mbrrace.ApplicationServices.Validation;
namespace Mbrrace.WebUI.Areas.Validation.Controllers
{
public class ValidationController : Controller
{
//
// GET: /Validation/Validation/
[HttpGet]
public JsonResult PostcodeCheck([Bind(Prefix = "perinatalView")]AddressViewModel model)
{
// postcode has already been checked for correct format
// now look it up to see if it exists
if (PostcodeChecks.CheckPostcodeExists(ConfigurationManager.ConnectionStrings["CommonCodeEntities"].ConnectionString, model.Postcode))
{
return Json(true, JsonRequestBehavior.AllowGet);
}
return Json("This postcode was not …Run Code Online (Sandbox Code Playgroud) 我在VS 2013中使用EF6,MVC 5.我有一个长时间运行的任务导致超时错误,因此我想将其设置为单独的后台任务运行并立即返回到Web控制器.后台任务将向SQL服务器数据库报告进度.基本上,我需要的是消防功能.似乎有很多选择:
async- 这似乎不是一个安全的选择选项3将是首选,因为它将所有代码保存在一个解决方案中.如果可能的话,请你评论每一个的利弊,并指出3号工作的例子.
我在Visual Studio 2012(C#)中使用Entity Framework 4和MVC 3.
我先使用数据库 ; 有两个独立的数据库,每个数据库都有自己的命名空间和两个独立的edmx文件.每个数据库都有一个具有相同名称和字段(但内容不同)的表.当我添加第二个表时,我开始遇到编译错误.
Ambiguity between 'Interface.CodeFormStatus.FormStatusCodeID'
and 'Interface.CodeFormStatus.FormStatusCodeID'
Run Code Online (Sandbox Code Playgroud)
似乎有一些复杂的解决方法,或者我可以重命名其中一个表.是不是一个简单的解决方案,因为这必须是一个相当普遍的问题.
我首先使用VS 2010和Entity Framework代码(版本6).我在它自己的上下文中有两个实体,我想在它们之间创建一对多的关系.
上下文1具有以下实体:
public class MyTrust
{
public int MyTrustID { get; set; }
public string MyTrustName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和Context 2具有以下实体:
public class MyLocation
{
public int MyLocationID { get; set; }
public int MyTrustID { get; set; }
public virtual MyTrust MyTrust { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
使用以下Fluent API
modelBuilder.Entity<MyLocation>()
.HasRequired(m => m.MyTrust);
Run Code Online (Sandbox Code Playgroud)
Context 2的迁移文件包含正确的密钥,但也创建了一个MyTrust已存在于其他上下文中的新表.
我知道我可以编辑迁移文件,但这不是解决方案.
我的问题是,如何停止创建第二个MyTrust表.
UPDATE
上面有一个重大缺陷,我将错误的代码粘贴到Context 2中.现在纠正了.道歉.
我们目前正在将VS 2015与TFS基本源代码一起使用,但正在考虑迁移到Microsoft GIT。是否可以将两者一起使用,以便我们进行评估和比较。查看VS选项中的“源代码控制”插件部分,它意味着您只能使用其中一个。
我的环境是VS 2012,C#,EF6和SQL Server 2008 R2.
我想执行一个存储过程来使用模式删除没有返回值的记录:
dataContext.Database.SqlQuery<return type>("name", parameter)
Run Code Online (Sandbox Code Playgroud)
如果没有返回结果,例如NO COUNT ON我应该将什么设置为返回类型?似乎它应该很简单但我无法在任何地方找到答案.
我试过dataContext.Database.SqlQuery("name", parameter)但是返回了一个编译错误:最好的重载方法匹配'System.Data.Entity.Database.SqlQuery(System.Type, string, params object[])'有一些无效的参数
c# ×5
asp.net-mvc ×2
async-await ×1
code-first ×1
git ×1
http ×1
iis-7 ×1
jpql ×1
python ×1
python-3.x ×1
sql ×1
tfs ×1