首先,如果这不是一个提出这个问题的合适场所,我很抱歉,但我不确定从哪里获得输入.
我已经创建了.NET对象持久性库的早期版本.它的特点是:
当我第一次有这个想法时,我确信它非常棒.我很快创建了一个初始原型.现在,我正在讨论连接池,线程安全以及是否尝试支持LINQ等IQueryable等问题的"困难部分".我正在更加努力地看看是否值得开发这个库超出了我自己的要求.
这是一个基本的使用示例:
var to1 = new TestObject { id = "fignewton", number = 100, FruitType = FruitType.Apple };
ObjectStore db = new SQLiteObjectStore("d:/objstore.sqlite");
db.Write(to1);
var readback = db.Read<TestObject>("fignewton");
var readmultiple = db.ReadObjects<TestObject>(collectionOfKeys);
Run Code Online (Sandbox Code Playgroud)
现在可以使用的查询界面如下所示:
var appleQuery = new Query<TestObject>().Eq("FruitType", FruitType.Apple).Gt("number",50);
var results = db.Find<TestObject>(appleQuery);
Run Code Online (Sandbox Code Playgroud)
我还在研究另一种查询接口,它允许您传递非常类似于SQL WHERE子句的内容.很明显,在.NET世界中支持IQueryable /表达式树会很棒.
由于该库支持许多具有不同功能的存储介质,因此它使用属性来帮助系统充分利用每个驱动程序.
[TableName("AttributeTest")]
[CompositeIndex("AutoProperty","CreatedOn")]
public class ComplexTypesObject
{
[Id]
public string id;
[QueryableIndexed]
public FruitType FruitType;
public SimpleTypesObject EmbeddedObject;
public string[] Array;
public int AutoProperty { get; set; …Run Code Online (Sandbox Code Playgroud) 我的 javascript 代码打开一些窗口槽:
var win = window.open();
Run Code Online (Sandbox Code Playgroud)
我将 win 引用与所有其他打开的窗口一起存储在一个数组中。
一切正常,直到开启器刷新为止。
所以我想要实现的是在加载“主”窗口时取回对打开的窗口的所有引用。
为了实现这一点,我必须:
1. 保留卸载时的所有引用 2. 取回加载时的引用 3. 使用新的 opener 更新引用
是否可以?如果是这样怎么办?
我现在有这样的事情:
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string Method1()
{
SomeObj so = SomeClass.GetSomeObj(); //this executes very long time, 50s and more
return so.Method1(); //this exetus in a moment
}
[WebMethod]
public string Method2()
{
SomeObj so = SomeClass.GetSomeObj(); //this executes very long time, 50s and more
return so.Method2(); //this exetus in a moment
}
...
}
Run Code Online (Sandbox Code Playgroud)
有可能创建有状态的Web服务,以便我可以重用SomeObj so并只调用同一对象上的方法吗?
因此,将使用此服务的客户端将首先调用web方法,该方法将创建so对象并返回一些ID.然后在后续调用中,Web服务将so基于ID 重用相同的对象.
编辑
这是我的实际代码:
[WebMethod]
public List<ProcInfo> GetProcessList(string domain, string machineName)
{
string …Run Code Online (Sandbox Code Playgroud) 使用doctrine 2.1(以及zend框架1.11,而不是它对这个问题很重要),如何发布持久化和发布更新操作,包括重新保存到数据库?
例如,根据刚生成的主键'id创建唯一令牌,或为上传的图像生成缩略图(实际上不需要重新保存到数据库,但仍然)?
以上实际上是关于两种情况的问题.两种情况都与以下状态有关:
假设我有一个
User实体.当对象在被标记为持久化后被刷新时,它将具有正常的自动生成的mysql id - 意味着正常运行的数字通常从1,2,3等开始.
每个用户都可以上传图像 -他将能够在应用程序中使用 - 它也将在数据库中有记录.所以我有另一个实体叫做Image.每个Image实体还具有自动生成的ID - 与用户ID相同的方法.
现在 - 这是场景:
当用户上传图像时,我想在将图像保存到数据库后立即生成该图像的缩略图.这应该发生在每个新的或更新的图像上.
由于我们试图保持智能,我不希望代码生成缩略图,如下所示:
$ image = new Image();
...
$ entityManager-> persist($ image);
$ entityManager->冲洗();
callToFunctionThatGeneratesThumbnailOnImage($图像);
但是我希望它在对象的持久化上自动发生(好吧,持久化对象的刷新),就像prePersist或者preUpdate方法一样.
由于用户上传了图像,因此他获得了一个图像链接.它可能看起来像:http://www.mysite.com/showImage?id=[IMAGEID].
这允许任何人只需更改此链接中的imageid,并查看其他用户的图像.
所以为了防止这样的事情,我想为每个图像生成一个唯一的标记.因为它实际上并不需要复杂,我想到了使用图像id的md5值和一些盐.
但为此,我需要拥有该图像的ID - 我只有在刷新持久化对象后才会生成 - 然后生成md5,然后再将其保存到数据库中.
了解图像的链接应该是可公开访问的,因此我不能只允许经过身份验证的用户通过某种权限规则查看它们.
我是经典ASP的新手,我需要在经典的asp中编写一个Web应用程序,因为客户希望它是经典的asp.:(
无论如何!这是我的问题:
当我有一个名为person的类的对象时:
Class Person
Private m_sFirstName
Public Property Get firstName
firstName = m_sFirstName
End Property
Public Property Let firstName(value)
m_sFirstName = value
End Property
End Class
set aPerson = new Person
Person.firstName = "Danny"
set Session("somePerson") = aPerson
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好...
在下一个请求中,我尝试读取会话var,如:
If IsObject(Session("aPerson")) = true Then
set mySessionPerson = Session("aPerson")
Response.Write(TypeName(myTest)) // will output "Person"
Response.Write(mySessionPerson.firstName) // will output "Object doesn't support this property or method: 'mySessionPerson.firstName'
End If
Run Code Online (Sandbox Code Playgroud)
关于什么事情的任何想法都会有很大的帮助.
我很想知道社区对这个问题的看法.我最近遇到了NHibernate/WCF场景(实体在服务层持久存在)的问题,并意识到我可能在这里走错了方向.
我的问题很明显,当在Web服务(在这种情况下为WCF)后面使用持久对象图(NHibernate,LINQ to SQL等)时,您更喜欢通过网络发送这些实体吗?或者你会创建一组较轻的DTO(没有循环引用)?
我正在阅读OOP设计模式和框架设计,发现自己对术语ORM和Persistence framework之间的区别不太了解。ORM是PF的一种吗?您可以期望这两种功能有哪些不同?
我写了一个小课程来持续记住一些昂贵的函数,这些函数对随机网络进行各种统计分析.
这些都是纯粹的功能; 所有数据都是不可变的.但是,某些函数将函数作为参数.
基于这些参数创建密钥是一个小问题,因为在Python中,函数对象相等等同于函数对象标识,即使函数实现没有改变,它也不会在会话之间保持不变.
我暂时使用函数名作为字符串来解决这个问题,但是当我开始考虑更改函数或匿名函数的实现等时,这会引发自己的一大堆问题.但我可能不是第一个担心这类事情的人.
有没有人有任何策略在Python中持久记忆函数参数的函数?
python functional-programming memoization object-persistence
我正在尝试使用本指南设置一些嵌入式表单.我在我的应用程序,课程和评估中设置了两个模型.
每个课程都可以有多个评估.
我有一个表单设置,用户可以在该课程中创建课程以及他们想要的任意数量的评估.提交表单时,它会成功创建课程记录和所有评估记录,但是创建的评估记录未链接到父课程(lesson_id字段只留空).
有人可以帮忙吗?
任何建议表示赞赏
谢谢.
我的Model类设置如下:
评价:
class Evaluation
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Lesson", inversedBy="evaluations")
* @ORM\JoinColumn(name="lesson_id", referencedColumnName="id")
*/
protected $lesson;
/**
* Set lesson
*
* @param \LessonBundle\Entity\Lesson $lesson
* @return Evaluation
*/
public function setLesson(\LessonBundle\Entity\Lesson $lesson = null)
{
$this->lesson = $lesson;
return $this;
}
/**
* Get lesson
*
* @return \LessonBundle\Entity\Lesson
*/
public function getLesson()
{
return $this->lesson;
} …Run Code Online (Sandbox Code Playgroud) 在尝试使用 node.js 对象(数组、映射...)进行一些数据索引时,每次启动脚本时都需要一些时间来填充(从数据库数据),我希望我的 node.js 对象可以自动透明地持久化在我的数据库中。
使用 node.js 中的 MongoDB 以及其他数据库(包括基于 SQL 的)已经有一段时间了,我很清楚 javascript 对象(同步访问,无查询)和数据库记录之间的查询/更新机制非常不同(异步访问,查询,...)。但是,我仍然希望使 javascript var persisted的解决方案,至少对于索引而言,可以存在并有所帮助。
基本上,我在考虑类似 HTML5 的 LocalStorage 之类的东西,但用于 node.js 服务器。
你认为这个想法有趣、可行,或者它已经存在?
编辑:正在进行中:https : //github.com/adrienjoly/persistent-harmony
c# ×3
doctrine-orm ×2
javascript ×2
persistence ×2
web-services ×2
asp-classic ×1
database ×1
dto ×1
forms ×1
memoization ×1
node.js ×1
nosql ×1
orm ×1
python ×1
session ×1
stateful ×1
symfony ×1
window ×1