SQL总是有一个很棒的功能:级联删除.你事先计划好,什么时候删除东西,BAM!无需担心所有这些依赖记录.
但是,现在实际上删除任何东西几乎都是禁忌.您将其标记为已删除并停止显示.不幸的是,当存在依赖记录时,我无法找到可靠的解决方案.我总是手动编写复杂的软删除网络.
那里有一个我完全错过的更好的解决方案吗?
我正在开发一个已经发展到相当规模的项目,我是唯一的开发人员.我们目前不使用任何版本控制,但我绝对需要启动.
我想使用Subversion.将现有项目转移到它的最佳方法是什么?
我有一个测试服务器,我用它来开发新功能,然后将这些文件传输到2个生产服务器.是否有一个工具可以自动上传到测试,然后部署到实时服务器?
所有这些都是使用Visual Studio在ASP.NET中开发的(如果这很重要)
我有一个基于Web的应用程序,通过电子邮件通知用户该网站上的活动.用户可以选择他们想要接收的通知类型.到目前为止,大约有10种不同的选项(每种都是真/假).
我目前将它存储在一个varchar字段中,以逗号分隔的0或1.例如:1,0,0,0,1,1,1,1,0,0
这有效,但很难添加新的通知标志并跟踪哪个标志属于哪个通知.这样做是否有可接受的标准?我正在考虑为每个通知类型添加另一个包含列的表.然后,如果需要,我可以添加新列,但我不确定这是多么有效.
提前致谢!
我一直在尝试创建一个自定义控件,其工作方式与Panel控件完全相同,除了包含几个div之外,这样可以创建一个圆角框外观.我还没有找到一个如何做到这一点的体面的例子.
我需要能够在控件内部放置文本和控件并直接访问它而无需引用面板(完全与Panel控件的工作方式相同).
有没有人有这方面的例子?
我将在我的网站上使用ASP.NET Membership模型.但是,有多个表我不打算使用,例如:aspnet Paths aspnet PersonalizationAllUsers aspnet PersonalizationPerUser aspnet Profile aspnet WebEvent Events
删除这些表是安全的还是会导致ASP.NET的成员资格框架工作方式出现问题(在System.Web.Security中)?
我真的很喜欢保持干净,这些桌子让我烦恼.
在MS SQL Server 2005的维护计划中运行重组索引和更新统计信息时,我们的生产Web服务器将超时.我知道重组索引是一个在线操作,这就是为什么我们选择它而不是重建索引,所以我们不知所措.它是在数据库备份之后运行的,在同一个维护计划中,但我读过它不应该产生重大影响.有什么建议?
将我的SQL查询存储在全局资源文件中而不是将其存储在我的代码隐藏中是一个好主意吗?我知道存储过程将是一个更好的解决方案,但我没有这个项目的奢侈品.
我不想在我的页面上查询,并认为中央存储库是一个更好的主意.
我正在两张桌子上加入.一个是用户的表,另一个是高级用户列表.我需要在我的查询中首先显示高级会员.但是,仅仅因为它们在高级用户表中并不意味着它们仍然是高级成员 - 还需要检查IsActive字段.
所以基本上我需要按以下顺序返回结果:
现在我有以下内容:
SELECT Users.MemberId, PremiumUsers.IsActive FROM Users
LEFT JOIN PremiumUsers ON PremiumUsers.UserId = Users.Id
ORDER BY PremiumUsers.IsActive DESC
Run Code Online (Sandbox Code Playgroud)
这样做的问题在于它将非活跃的高级会员置于非高级会员之上.
(我正在使用MS SQL Server 2005)
我目前正在开发两个有很多共同点但却截然不同的社交网站.我发现自己为这两个代码编写了很多相同的代码(包括UI),并且想知道是否存在限制重复代码的最佳实践.
其中一个主要问题是这些项目非常独立,并且可能很快就会出现类似的差异.此外,一旦完成初始工作,它们可能会被移交给其他程序员,因此共享代码库可能最终成为一个大问题.
那些可能不得不处理类似情况的人的任何建议?
PS:我是这两个项目中唯一的开发人员,看起来它会保持这种状态一段时间.
如何创建自定义控件(不是ASCX控件),更重要的是,在项目中使用它?我不想为它创建一个单独的项目或将其编译为DLL
有没有让基类在C#中使用派生类的静态变量?像这样的东西:
class Program
{
static void Main(string[] args)
{
int Result = DerivedClass.DoubleNumber();
Console.WriteLine(Result.ToString()); // Returns 0
}
}
class BaseClass
{
public static int MyNumber;
public static int DoubleNumber()
{
return (MyNumber*2);
}
}
class DerivedClass : BaseClass
{
public new static int MyNumber = 5;
}
Run Code Online (Sandbox Code Playgroud)
我试图让它返回10,但我得到0.
这里是我使用它的地方:我有一个名为ProfilePictures的类,它带有一个名为GetTempSavePath的静态函数,它将用户id作为参数,并返回临时文件的物理路径.路径库是一个名为TempPath的静态变量.由于我在多个项目中使用此类并且它们具有不同的TempPath,因此我创建了一个派生类,该变量将该变量设置为项目的路径.
我有一个基类来计算图像大小.我正在从中派生一个类,并具有将在我的代码中使用的预定义图像大小.虽然我有所作为,但我有一种强烈的感觉,我没有正确地做到这一点.
理想情况下,我想将DerviedClass.PreviewSize作为参数传递给GetWidth,而不必创建它的实例.
class Program
{
static void Main(string[] args)
{
ProfilePics d = new ProfilePics();
Guid UserId = Guid.NewGuid();
ProfilePics.Preview PreviewSize = new ProfilePics.Preview();
d.Save(UserId, PreviewSize);
}
}
class ProfilePicsBase
{
public interface ISize
{
int Width { get; }
int Height { get; }
}
public void Save(Guid UserId, ISize Size)
{
string PicPath = GetTempPath(UserId);
Media.ResizeImage(PicPath, Size.Width, Size.Height);
}
}
class ProfilePics : ProfilePicsBase
{
public class Preview : ISize
{
public int Width { get { return …
Run Code Online (Sandbox Code Playgroud)