前言2015年2月如果您仍在使用Entity Framework EDMX,请使用Entity Framework Code First代替您自己帮忙和结帐.不同之处在于您的表是从模型类创建的,而不是在使用表创建模型类的EDMX中创建的.这是一个全面的解决方案,这个问题中的问题甚至都不存在!
我有一个现有的SQL数据库,我正在使用ADO.NET Enity Data Model作为模型.我正在尝试在我的MVC应用程序中构建一些CRUD功能.
在我找到的关于这个主题的所有教程中,他们从头开始构建模型并将属性添加到模型类中.例如:
[Required]
[StringLength(10)]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是,模型类是自动生成的,所以我认为更改它们是一个坏主意(如果刷新数据库模型,无论如何都会写入).
我如何添加验证属性?
你如何匹配文本输入框的大小和最大长度?maxlength和size属性不排列并且取决于字体使用,这是非常烦人的.
Example input:<input type="text" size="4" maxlength="4" />
Run Code Online (Sandbox Code Playgroud)

有什么建议?
我在Azure上托管了一个网站,我试图将域名从Google域名指向.
我目前的配置如下:
Name Type Data
@ A XXX.XXX.XXX.XXX
www CNAME history-podcasts.azurewebsites.net
awverify CNAME awverify.history-podcasts.com
Run Code Online (Sandbox Code Playgroud)
我按照此处的说明操作:为Azure网站配置自定义域名.
当我转到Azure门户以管理域并尝试在DOMAIN NAMES中输入URL时,我收到以下消息:
找不到从history-podcasts.com指向history-podcasts.azurewebsites.net的CNAME记录.找不到替代记录awverify.history-podcasts.com到awverify.history-podcasts.azurewebsites.net
当我转到域的URL时,我收到以下消息:
您尝试访问的网站在此Microsoft Azure网站区域中不可用.这可能是由于以下几个原因之一:
- 网站所有者已注册自定义域以指向Microsoft Azure网站,但尚未配置Azure以识别它.点击这里阅读更多.
当网站所有者想要将自定义域与Microsoft Azure网站网站一起使用时,需要将Azure配置为识别自定义域名,以便它可以将请求路由到该区域中的相应服务器.在向域提供商注册域并配置DNS CNAME记录以指向站点的Azurewebsites.net地址(例如,contoso.azurewebsites.net)后,网站所有者还需要转到Azure门户并为新域名.单击此处以了解有关为网站配置自定义域的详细信息.
这与我目前通过Namecheap和Azure托管用于多个域的配置设置相同,并且它们按预期工作.
我正在研究一些排序算法,需要练习一些东西.在搜索未排序的字典文件时,我得到的只是寻求帮助的人的结果.我正在寻找一个问题,而不是一个解决方案.
有人能指点我一个未分类的字典吗?越大越好,我希望找到一个大约120,000行.
谢谢您的帮助.
对于家庭作业,我试图paintComponent使用用户输入的变量绘制一个框.我已经能够使用固定数字构建我需要做的事情.我整天都在研究这个问题,但却找不到实现变量的方法.这是我正在研究的精简版:
import javax.swing.*;
import java.awt.*;
public class Problem3 extends JFrame{
public static void main(String[] args) {
int xCoord = Integer.parseInt(
JOptionPane.showInputDialog("Enter an X cord."));
JFrame gd = new JFrame();
gd.setLocationRelativeTo(null);
gd.setSize(300, 300);
gd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gd.setVisible(true);
gd.add(new NewPanel());
}
public int getX(){
return xCoord;
}
}
class NewPanel extends JPanel {
int xCoord = getX();
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.drawRect(10,10,xCoord,50);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
自从发布在这里以来,我尝试在NewPanel类中使用setter方法
public void setX() {
xCoord = Integer.parseInt(
JOptionPane.showInputDialog("Enter an X cord."));
}
Run Code Online (Sandbox Code Playgroud)
运行这导致一个我从未见过的奇怪错误:我得到一个StackOverFlow错误然后对话框弹出多次/数百次并且不会停止弹出.
编辑3使用气垫船完整的鳗鱼解决方案,我让它工作! …
我在使用GetType()和typeof()获得类的类型时遇到问题,问题在于它无法正常工作。
我有Content的基类和Podcast和AudioBook的继承类。
我使用的是Code First,并且每个层次结构都有一个表(该表将所有子类存储在一个带有Discriminator列的表中)来存储所有Content实体。
我想通过“标题”列查询“内容”表,并返回一个“内容”实体。然后,根据类型(Podcast,AudioBook)执行其他操作。但是类型检查不起作用。
楷模
public abstract class Content
{
public string Title { get; set; }
}
public class Podcast : Content
{
}
Run Code Online (Sandbox Code Playgroud)
资料库
public Content FindContentByRoutingTitle(string routingTitle)
{
var content = Context.ContentItems
.FirstOrDefault(x => x.RoutingTitle == routingTitle);
return content;
}
Run Code Online (Sandbox Code Playgroud)
控制者
var content = _contentRepository.FindContentByRoutingTitle(title);
if (content.GetType() == typeof(Podcast))
{
return RedirectToAction("Index", "Podcast", new { title = title });
}
else if (content.GetType() == typeof(Content))
{
//just a check to see if equating with …Run Code Online (Sandbox Code Playgroud)